SOFTWARE ARCHITECTURAL STYLES

Size: px
Start display at page:

Download "SOFTWARE ARCHITECTURAL STYLES"

Transcription

1 SOFTWARE ARCHITECTURAL STYLES Sean Boyd, Mark D Adamo, Christopher Horne, Nolan Kelly, David Ryan, Nairn Tsang SENG W2013 Paper Project (Group 4)

2 Table&of&Contents& IntroductiontoSoftwareArchitecturalStyles...3 MessageBusArchitecture...3 Pros...3 Cons...3 Client/ServerArchitecture...4 Pros([13])...4 Cons([13])...4 Example MicrosoftSQLServer...5 Pros...5 Cons...5 Example Cocoa...6 LayeredArchitecture...6 Pros([1],LayeredArchitecturalStyle)...6 Cons...7 Example...7 Pros...7 Cons...8 Example OracleDiscovererTool...8 ComponentBasedArchitecture...8 Pros...10 Cons...10 Example Gaming...10 ThenandNow:...10 InheritanceBasedProgramming:...10 CBAtotheRescue:...11 References...11

3 Introduction)to)Software)Architectural)Styles) Softwarearchitecturalstylesarepatternsorframeworksthathavebeendevelopedas generalsolutions tocommonproblemsthatariseinthesoftwaredevelopment process.theygenerallyspecifyordefinethecomponentsandconnectorsthatcompose asolutionandtheirrelations program. Message)Bus)Architecture) Themessagebusarchitectureisamessageorientedmiddlewareapproachto centralizingcommunicationwithinanapplication(orbetweenaseriesofthem).analogousto thehardwarebusarchitectureusedtolinkphysicalcomputerresources,themessagebus offersroutingandmessagepassingsupportbetweensoftwaresystemsorsubsystems.itis looselycoupledtothecomponentswhichutilizeit,asitoperatesindependentoftheir implementationsolongastheymatchtheinterface[22]. basedformsofthepublishandsubscribearchitecture listandbroadcast lendthemselves informationonthebus itmaintainsalistofsubscribersforeachtopic,andwhenevera messageispassedtothebus,thebuswillcopyandsendthemessagetoeverysubscriberofthe sideoftherelationship.amessagesenttothebusisforwardedindiscriminatelytoall connectednodes,andmessagesofunwantedtopicsaresimplyfilteredoutandignoredbythe recipientapplications[23]. Serviceorientedarchitecturelendsitselfverywelltoutilizingamessagebus architecture facilitatingthesubscriptionofserviceproviderstoservicerequesters[24].by providingaserviceregistryandrepository,themessagebuscanpermitnumerousandhighly variedservicestoserveeachotherwithoutneedingextensiveconnectionlogicintherespective serviceapplications. Pros:) Improved)Modifiability[21] Applicationsaddedtoorremovedfromthesystemnolonger affectanyothercomponents;solongastheyfollowthemessagebusspecificationsintegration withothercomponentsisseamless.newmessagescanbeaddedwithoutbreakingoldones. Objectsofanytypecanbeencapsulatedanddeliveredviathebus[22].

4 Reduced)Complexity[21] Messagesendersnowonlyinteractwiththebusinsteadofall messagerecipients;likewise,themessagerecipientsneedonlyinteractwiththebusinsteadof allsenders. Improved)Performance[21] Withallroutingandmessagepassinghandledbythebus, performanceisboundtobuscapacityandthroughputandfreedfromtheconstraintsof potentiallyhaphazardmessagepassingprotocols. Improved)Scalability)[21] AddingadditionalservicesorapplicationstothebusisanO(1) operation,limitedonlybythecapacityoftheimplementedbus. Cons:) Increased)Complexity[21] Integrationbecomesmorecomplexwithamessagebusbecause allcomponentsaccessingthebusmustbeshapedtofititsintegration.additionally,itisa sharedresourceandmustaddressconcurrencyandqueuingconcerns. Lowered)Modifiability[21] Changestothebusinterfacemustmaintainbackwards compatibility,oreverycomponentthatutilizesthebuswillhavetobeupdatedinorderto supportthenewinterface. Lowered)Security)[21] Abroadcastbasedmessagebusoffersnoprivacywithoutsomeform ofencryption,asmessagesaredeliveredindiscriminatelytoallconnectednodes.[23] Low)Downtown)Tolerance)[21] Thebusbecomesasinglepointoffailureforall communicationacrosstheapplication(s).logicisnotnecessarilyimplementedforapplications tomanagetheirownmessageswhilethebusisoutofservice,whichcanleadtomessageloss andfailuresofdataintegrity. Example) )DJBus) utilizesthemessagebusarchitecture.itconsistsprimarilyof:[19] communication Themessagebusdaemon,whichcanconnecttomanysimultaneousapplicationsand providesrouting Bindingstofacilitateawidervarietyofframeworksandsystems

5 facilitatetheseconcerns. [25]% %The%D+Bus%Concept%Diagram%

6 Client)/)Server)Architecture) entityonthenetworkassumestheroleofeitheraclientoraserver.serversarepowerful computersorprocessesdedicatedtomanagingasetofresources([17],page18).theyare ideallyactiveatalltimestoservicerequestsmadebyclientsinordertoprovideasetof resourcesorfunctionalities.serverscanservicemanyclientsatatimeandregulatetheir access([18],page261).aclientisasingleuserhostsystemsuchasapcorworkstationwith userapplicationsthatinitiatecontactwiththeserverinordertomakeuseofitsresources([17], page10).theseresourcescanincludedata,cpu s,printers,anddatastoragedevices.clients nevercommunicatedirectlywitheachother;theyareonlycapableofindirectcommunication throughtheserver.clientsandserversarelocatedphysicallyondifferentcomputersystems andrequireremoteaccesstocommunicate([18],page261).clientsandserversareloosely serversoftwareisindependentofhardwareoroperatingsystemplatforms. processing,anddatamanagementfunctionsarelogicallyseparated.fatclientreferstoclients foralotofthecomputationsandprocessesthatareneededtoperformaparticulartaskwhile theserverisresponsibleforverylittle.incontrast,thereisathinclientinwhichtheserveris responsibleforavastmajorityoftheworkandtheclienthasverylittleresponsibility([18],page Pros)([13])) Centralization)of)data:)Alldataisonasingleserver,simplifyingtheorganizationand managementofdata.thisalsomakesiteasiertobackupdataaswellas modifying/editing([17],page12). Security:)Requestsmadebyclientscanbemonitoredandlogged.Validationcanbe enforcedwithrequeststoensurethatonlythoseclientswithvalidcredentialscanhave accesstospecificservices. Cons)([13])) Congestion:)Ifanincreasingnumberofclientswishtocommunicatewiththeserver,this willincreasetheserver sworkload,thusreducingnetworkspeeds. Cost:)Costofsetupandmaintenancearegenerallyhigh. Not)Robust:)Iftheserverfails,theclientswillnolongerbeabletofunction.Clientswill notbeabletointeractatalluntiltheserverisrestored.

7 Example) )Microsoft)SQL)Server) Microsoft ssqlserver.asthenamesuggests,sqlserverisadatabaseapplicationinwhichthe databaseresidesonaserver.theserverisarelativelylargecomputerinacentralizedlocation. Clientscanconnecttotheserverandmakerequestsfordatausinganumberofdifferent applications.havingthedatabasecentralizedonaservermakesitmucheasiertomaintainan uptodatecollectionofdata.clientsdonotneedtocontinuallyupdatelocalcopiesofthe databasetoensureconsistency.sqlserverprovidessecurityoptionsaswell,requiring 5). ObjectJOriented)Architecture) focusesonbreakingdownasystemintoindividualandreusablecomponents,orobjects. Objectstypicallyconsistofdatafields(ie.attributes)andprocedures(ie.methods).Objectsare usuallyinstancesofclasses,andaprogramcanbeconsideredtobeacollectionofobjects interactingwitheachother.thisisincontrasttothemoreconventionalprocedural programming,whereaprogramismorelikealistofsubroutines.objectsareseparate, independententitiesthatarelooselycoupled.theycommunicatewithoneanotherthrough interfaces,methodcalls,andsendingandreceivingmessages. Fundamental)Features)([1],)ObjectKOriented)Architecture)Style) Inheritance:)Objectscaninheritthecharacteristicsofotherobjects.Thismeansan objectcaninheritthefunctionalityofanotherbaseobject,andevenoverridethat functionality sbehaviour.changestoabaseobjectarealsopropagateddowntolower objects. Encapsulation:)Theinternalsofanobjectcanbehiddenfromotherssothatonlythat objectcanmanipulateitsownstateandvariables.thisprotectstheintegrityofthe objectandpreventsusersfromsettingtheinternaldataofthatcomponenttoaninvalid orinconsistentstate. Abstraction:))Abstractionreferstobreakingdownasystemintologicalcomponentsthat canperformsomesortofworkandcommunicatewithotherobjectsinmeaningful ways.itcanhelpreducecomplexity. Polymorphism:)Polymorphismreferstogivinganobjectmultipleforms.Itallowsyouto makechangestoabaseobjectandextendittodifferenttypes,whilestillkeepingthe baseobjectinterchangeablewithitsotherforms.

8 Pros)([1],)ObjectJOriented)Architectural)Style)) Reusable Extensible Morecloselyrelatedtohowweviewworldobjects Increasedcohesion Easiertestingthroughencapsulation Cons) h h h Strongcouplingbetweensuperclassesandsubclasses.Swappingoutsuperclassescan oftenbreaksubclasses. Notallproblemscannecessarilybebrokendownintoclearlydefinedobjects. Notnecessarilyappropriateforsmaller,lesscomplexprojects. Example) )Cocoa)[20,)ModelJViewJController]) Agoodexampleofapracticalapplicationofobject@orientedprogramming(OOP)isApple s nativeapi,cocoa.cocoaisimplementedinobjective@c,anobject@orientedprogramming language.cocoaalsogreatlyemphasizesthemodel@view@controller(mvc)architecture pattern,whichisstronglytiedtotheobject@orientedparadigm. Asthenamesuggests,inMVCtherearethreemainobjects:Model,View,andController.The Modelconsistsoftheapplicationdataandlogic,andtheViewrequestsinformationfromthe Modelanddisplaysitassomevisualrepresentation(ie.GUI).TheControlleractsasan intermediaryobjectandpassesinformationbetweenthemodelandtheview.eachobjectis independentfromtheothers,whichgivesthesystemalotofflexibilityandmakesthe componentshighlyreusable,whichisoneofoop sbiggestadvantages.changestoone componentdonotnecessitatechangestoanother.asimpleexamplewouldbeusingdifferent GUIsforthesamesystem.InthiscaseyoucouldreusethesameModelandController,andonly havetomakechangestotheview,savingalotoftimeandeffort.virtuallyalltheapps developedforapple sappstoresstronglyadheretothisideaofmodularityandreusability. Layered)Architecture) TheLayeredArchitectureStyleisfocusedarounddividingsoftwarefunctionalityintodistinct layersthatinteractvertically.itisdependentonmessagepassingbetweenlayersandclearly

9 definedfunctionallayers.eachlayercanonlysendorreceivemessagestothelayerdirectly aboveorbelowit. Pros)([1],)Layered)Architectural)Style)) Abstraction:Layeredarchitectureabstractstheviewofthesystemaswholewhile providingenoughdetailtounderstandtherolesandresponsibilitiesofindividuallayers andtherelationshipbetweenthem. Encapsulation:Noassumptionsneedtobemadeaboutdatatypes,methodsand properties,orimplementationduringdesign,asthesefeaturesarenotexposedatlayer boundaries. Clearly)defined)functional)layers:Theseparationbetweenfunctionalityineachlayeris clear. Upperlayerssuchasthepresentationlayersendcommandstolowerlayers,suchasthe businessanddatalayers,andmayreacttoeventsintheselayers,allowingdatatoflow bothupanddownbetweenthelayers. eachlayercontainsfunctionalitydirectlyrelatedtothetasksofthatlayer,willhelpto maximizecohesionwithinthelayer. Reusable:Lowerlayershavenodependenciesonhigherlayers,potentiallyallowing themtobereusableinotherscenarios. Loose)coupling:Communicationbetweenlayersisbasedonabstractionandeventsto provideloosecouplingbetweenlayers. Design)Pattern)Support:Thelayeredarchitectureissupportedbymanysoftwaredesign patternsincludingmvcandotherseparatedpresentationpatterns. Cons) Theonlymajordisadvantageinvolvedinlayeredarchitectureinvolvedifficultiesstructuring systemsaslayeredsystems.specifically,restrictingcommunicationtoadjacentlayers,and keepingcouplingbetweenlayersreduced.([2],page12)ifsoftwaresystemscanbesuccessfully designedaslayeredsystems,therearenodisadvantages. Example)) Anexampleofalayeredsoftwaresystemisthisprocesscontrolforchemicalproduction processes.theleftsiderepresentsthesoftwareside,andtherightrepresentsthehardware side.

10 ImageSource:[2],page28 Level1:Processmeasurementandcontrol:directadjustmentoffinal controlelements. Level2:Processsupervision:operationsconsoleformonitoringand controllinglevel1. includingmanagementreports,optimizationstrategies,andguidanceto operationsconsole. functionssuchascostaccounting,inventorycontrol,andorder processing/scheduling.

11 NJTier)Architecture) tiers.eachtiercanbelocatedonaseparatephysicalcomputer.thesesystemsare ofmessagepassing.eachtierinthesystemiscompletelyindependentfromalltiers exceptthoseimmediatelyaboveandbelowit.communicationbetweenthetiersisnot ArchitecturalStyle) becauseinitsmostcommonincarnationtherearethreetiers,eachlocatedona tiestothelayeredarchitecturalstyle,andtheymaybeusedatthesametimeinwhich inquestionrequiresanamountofresourcesthatcouldleadtodecreasedperformance ofothercomponentsofthesystemifitweretoberunonthesamemachine.itisalso usedifalayerneedsaccesstosensitiveinformationwhichisnotneededinotherlayers, asitallowsthedatatobestoredinaplacewherenootherlayerscanpossiblyaccessit. Pros)([1],)NJTier/3JTier)Architectural)Style)) Maintainability Eachtierisindependentoftheothertiers,whichallowschangesandpatchestobe performedonapartofthesystemwithoutaffectingtheapplicationasawhole. Maintainabilityisanextremelyimportantconsiderationinanysoftwareproject,sothis isalargebenefit. Scalability Becausetiersaredesignedbasedontheapplication slayers,scalingtiersisasimple importantbenefit. Flexibility Sinceeachtierismostlyindependent,theycanbemanagedorchangedindependently, allowingforaflexibleapplication. Availability Sinceatierisresponsibleforonecomponent,itiseasyfortheapplicationtoincrease theamountofacertaincomponent,allowinghigheravailability.

12 Cons)([4],)Goals)of)a)Good)NJTier)Application)) Bloat Sincecommunicationbetweentiersisneededandtheyareondifferentmachines, programscanbecomemuchlargerthantheyotherwisewouldbe. Inflexibility therearesomeinstancesinwhichhavingtocommunicatebetweenmultiplelayers necessitatesdatabeaccessedinaspecificwaywhichmightnotbewhatiswanted. Example) )Oracle)Discoverer)Tool)([5],)1.2.1)) sdiscoverertool.itisan

13 Component)Based)Architecture) ComponentBasedArchitecture(CBA)isanarchitecturethatfocusesondecomposing softwaredesignsintofunctionalorlogicalcomponentswiththeirownmethods,events andproperties.thecomponentsarelooselycoupledandreusabletoprovidemodular programsthatcanbetailoredtofitanyneed.assuchthecbacanprovidealevelof abstractionhigherthanthatofobjectorientedprogrammingarchitecture(oopa)and doesnotfocusonissuessuchascommunicationprotocolsandsharedstate. Components:) Acomponentcanbeanysoftwarepackage,webserviceormodulethatencapsulatesa relatedsetoffunctionsordata([6],softwarecomponentarchitecture).theideaisto havethecomponentfullyencapsulatedtothepointthatonecanmakefulluseofsaid componentwithoutrequiringknowledgeofitsimplementation.itprovidesthis functionalitytotherestofthesystembyuseofaprovided%interface.aprovided interfacespecifieswhatacomponentcanprovidetoothercomponentsinthesystem. functions. Theideaofallthisistodevelopthesoftwarecomponentstothepointofbeing independentorloosely%coupledwithothercomponentsinthesystem.inanideal scenariotheonlythingacomponentshouldrequiretooperateisasystemmechanism thatprovidesanenvironmentinwhichthecomponent(s)canexecute.whilethisideal, itisnotalwayspossibleandassuchcomponentscandependonothercomponentsto executebyadoptingaused%interface.ausedinterfacespecifieswhatacomponents needstooperate. Pros)([7],)What)are)the)advantages)and)disadvantages)of)plugJin)based) architecture?)) Ease)of)deployment.Asnewcompatibleversionsbecomeavailable,youcanreplace existingversionswithnoimpactontheothercomponentsorthesystemasawhole. developmentandmaintenance.

14 definedfunctionality,allowingdevelopmentwithoutimpactingotherpartsofthe system. Reusable.Theuseofreusablecomponentsmeansthattheycanbeusedtospreadthe developmentandmaintenancecostacrossseveralapplicationsorsystems. Mitigation)of)technical)complexity.Componentsmitigatecomplexitythroughtheuseof acomponentcontaineranditsservices.examplecomponentservicesinclude componentactivation,lifetimemanagement,methodqueuing,eventing,and transactions. Cons) Message)Handling)needstobepredefinedforthecomponents.Possibilityitcouldbea limitingfactor. Reliance)on)Third)Parties.Ifyourcomponentscomefromathirdpartyofsomesort thenyouwillbeattheirmercyforupdatesandchangestothecomponent. Complexity.)Whileitisdesignedtoreducecomplexityofsystemsitintroducesa someproblemsmayonlysurfacewithcertaincombinationsofcomponents. Testing.)Canbedifficultifthecomponentdoesn tcomewithit sownexecution environment.(moreofathirdpartycomponentproblem) Second)System)Syndrome.)Dependingonhowcomplexthecomponentsthemselvesare youcanendupwithaplatformwithinaplatformwithinaplatformtypeproblem. Example) )Gaming) ThenandNow:) DoomandQuake.Youknowthesenames.Iknowyoudo.Backinthedayyouweren ta personunlessyouhadexperiencedthemajestythatisdoomandquake.whilenot beingknownforhavingalotof contentdepth buttheywereknownforhavingmany thingstokill.theywerehoweverknownforbeingattheveryforefrontofgame programmingtechnology.adaptivetilerefresh,raycasting,binaryspacepartitioning (whichdoombecamethefirstgametouse),andsurfacecaching(whichwasinvented forquake)%wereallprogrammingtechniquesthatwereeitherfirstpioneeredoreven (everythingelsewasc/c++orsomesortofasm).thesegameswereparagonsoftheir kind Flashforwardtotoday sgamingeraandwefindweareinaverydifferentplace.games arenowmassive,extremelyresourceintensiveprograms.theycanmeasureonthe

15 scaleof25gbforasingletitleandcanofferaseeminglyendlesspitofcontent,depth andevenmorethingstokill.sufficeittosaygamestodayarecomplex.verycomplex. Andthereinisourproblem.AlotoftheOOprogrammingtechniquesusedbygames backinthedayarenolongerfeasibleanymore.thebiggestoftheseoffendersis InheritanceBasedProgramming([9],PreferCompositionoverInheritance[Online]). InheritanceBasedProgramming:) WhatisIBP?Wellit slikethis.let ssayyouhaveachestobjectinagame.thechestis,let s say,aderivedclassofacontainerwhichisaderivedclassofagenericgameobject. Thisisprettystraightforwardandwouldhaveyieldedaperfectlygoodchesttouseandbackin thedaythiswouldhavebeenawesome.nottoday.todaygamerswillnotbesatisfiedwitha simplechestthatsimplyopensandclosesallsimplechestlike.no,theywantthatchestto attackthemorfollowthemaroundlikeasidekickmakingwittyremarkseverynowandagain. Theproblemisthatnoneoftheobjectsinourchesthierarchyhaveanyfunctions,methodsor parametersformakingthechestanentityormovable.soweneedtoadditbyattaching anotherhierarchy.

16 Sonowwehaveachestwithmultipleinheritancesoitcanbeachestthatmoves.Simpleon paper,veryhardtoimplement,andimpossibletodebug(handcrafting).sohowdowefixthis? CBAtotheRescue:) WecanfixitwithaproperapplicationofCBA.IfweuseCBAwecanalleviatebyaddingproper concessionsintothegenericgameobjectclass([10],componentbasedgamearchitecture)to acceptnewcomponentstoletthechestmovewithoutrequiringmultipleinheritance.thislets usinessencecreateaverycomplexgamewithoutusingverycomplexmethods.thegame engineitselfbecomeseasiertomanagebecauseitwasbuiltwithourlooselycoupled,modular parts. Conclusion Asdiscussedabove,therearemanyarchitecturestylesthatcanbeusedwhendesigning software.thetypeofarchitecturethatisbestforagivenprogramdependsonthetypeof softwarethatisbeingdevelopedandthestylethatdevelopersaremostconfidentinusing.

17 References) [1]Microsoft.(2013).Chapter%3:%Architectural%Patterns%and%Styles[Online].Available: [2]D.GarlanandM.Shaw.(1994).AnIntroductiontoSoftwareArchitecture[Online].Available Pdf: [3]J.Booth,BuildingMiddleTierObjectsinVisualFoxpro[Online].Available: [5]OracleCorporation,OverviewofOracle9iASDiscoverer[Online].Available: [6]RainerNiekamp.SoftwareComponentArchitecture[PDF].Available: [9]SteffenItterheim(2010,June11).PreferCompositionoverInheritance[Online]. [10]JordanSpringett(2012,Feb16).ComponentBasedGameArchitecture[Online].Available: [12]Lexus.(2011,March20).ProsAndConsofDistributedClient/serverArchitectures[Online]. Available: architectures

18 [14]Microsoft.SQLServerOverview[Online].Available: [16]M.I.JawidNazir.ClientServerComputingIntroduction[PDF].Available: [17]S.H.Kaisler.(2005).SoftwareParadigms[PDF].Available: [19]Apple.(2012).Concepts%in%Objective+C%Programming[Online].Available: pedia/introduction/introduction.html [20]Microsoft MessageBus[Online].Available: [21]Tody,Doug.(1998).MessageBusandDistributedObjectTechnology[Online].Available: [22]Microsoft Publish/Subscribe[Online].Available: Available:

MDM Registry Pros and Cons

MDM Registry Pros and Cons Global Data Competency Adam J. White President MDM Registry Pros and Cons August 24, 2009 Agenda Fundamental MDM Implementation Styles PROS and CONS of Registry Style Determining MDM Style to Implement

More information

Contents. Preface Acknowledgements. Chapter 1 Introduction 1.1

Contents. Preface Acknowledgements. Chapter 1 Introduction 1.1 Preface xi Acknowledgements xv Chapter 1 Introduction 1.1 1.1 Cloud Computing at a Glance 1.1 1.1.1 The Vision of Cloud Computing 1.2 1.1.2 Defining a Cloud 1.4 1.1.3 A Closer Look 1.6 1.1.4 Cloud Computing

More information

Lessons learned from a large scale OSGi web app. Jago de Vreede Paul Bakker

Lessons learned from a large scale OSGi web app. Jago de Vreede Paul Bakker Lessons learned from a large scale OSGi web app Jago de Vreede Paul Bakker Paul Bakker @pbakker Jago de Vreede Agenda! High level architecture Modular architecture Modularity with OSGi Cloud deployments

More information

Common Server Setups For Your Web Application - Part II

Common Server Setups For Your Web Application - Part II Common Server Setups For Your Web Application - Part II Introduction When deciding which server architecture to use for your environment, there are many factors to consider, such as performance, scalability,

More information

10232: Designing and Developing Microsoft SharePoint Server 2010 Applications

10232: Designing and Developing Microsoft SharePoint Server 2010 Applications CÔNG TY CỔ PHẦN TRƯỜNG CNTT TÂN ĐỨC TAN DUC INFORMATION TECHNOLOGY SCHOOL JSC LEARN MORE WITH LESS! 10232: Designing and Developing Microsoft SharePoint Server 2010 Applications Duration: 5 days About

More information

Course 10232: Designing and Developing Microsoft SharePoint Server 2010 Applications

Course 10232: Designing and Developing Microsoft SharePoint Server 2010 Applications Course 10232: Designing and Deploying Microsoft SharePoint Server 2010 Applications Page 1 of 7 Course 10232: Designing and Developing Microsoft SharePoint Server 2010 Applications 4 days; Instructor-Led

More information

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER TABLE OF CONTENTS Market Demand for Enterprise Mobile Mobile App Development Approaches Native Apps Mobile Web Apps Hybrid Apps Mendix Vision for Mobile App

More information

Fast, cheap and data-driven

Fast, cheap and data-driven User-centered Information Architecture Fast, cheap and data-driven Suzanne Boyd, Anthro-Tech, Inc. Emma Rose, Anthro-Tech, Inc. Designing a usable information architecture can be challenging Context Content

More information

We (http://www.newagesolution.net) have extensive experience in enterprise and system architectures, system engineering, project management, and

We (http://www.newagesolution.net) have extensive experience in enterprise and system architectures, system engineering, project management, and We (http://www.newagesolution.net) have extensive experience in enterprise and system architectures, system engineering, project management, and software design and development. We will be presenting a

More information

Choosing a Content Management System (CMS)

Choosing a Content Management System (CMS) Choosing a Content Management System (CMS) Document Version Revision History Date Document Version Description Created By: 10/Oct/2013 First draft Laraib Saad Table of Contents 1. Introduction

More information

Advanced Professional Supply Chain Management Certificate Curriculum*

Advanced Professional Supply Chain Management Certificate Curriculum* Advanced Professional Supply Chain Management Certificate Curriculum* When filling out your military TA form, please use for the course you are requesting. Functional Perspective of Supply Chain Management

More information

Migration from SharePoint 2007 to SharePoint 2010

Migration from SharePoint 2007 to SharePoint 2010 Migration from SharePoint 2007 to SharePoint 2010 Summary This paper provides an overview of the SharePoint 2007 to SharePoint 2010 migration and highlights the KPIT- SYSTIME migration approach. The document

More information

How to Choose the Right Data Storage Format for Your Measurement System

How to Choose the Right Data Storage Format for Your Measurement System 1 How to Choose the Right Data Storage Format for Your Measurement System Overview For many new measurement systems, choosing the right data storage approach is an afterthought. Engineers often end up

More information

Moving to the Cloud. Sam Hornstein Jetline Jason Nokes President, Distributor Central Garrett Ausfeldt Starline

Moving to the Cloud. Sam Hornstein Jetline Jason Nokes President, Distributor Central Garrett Ausfeldt Starline Moving to the Cloud Sam Hornstein Jetline Jason Nokes President, Distributor Central Garrett Ausfeldt Starline Sam Hornstein Current Services in the Cloud Business Management System (ERP) Website File

More information

TESTING AND OPTIMIZING WEB APPLICATION S PERFORMANCE AQA CASE STUDY

TESTING AND OPTIMIZING WEB APPLICATION S PERFORMANCE AQA CASE STUDY TESTING AND OPTIMIZING WEB APPLICATION S PERFORMANCE AQA CASE STUDY 2 Intro to Load Testing Copyright 2009 TEST4LOAD Software Load Test Experts What is Load Testing? Load testing generally refers to the

More information

Big Data & Its Bigger Possibilities In The Cloud

Big Data & Its Bigger Possibilities In The Cloud Big Data & Its Bigger Possibilities In The Cloud Chhavi Gupta Software Engineer, EMC Corporation Sai Pattem Professional MBA Candidate 2013 August 15 th, 9:30 10:30 AM Session 13860 Room 200 (Hynes Convention

More information

CSBS Technology Conference

CSBS Technology Conference CSBS Technology Conference November 8, 2010 Chicago, Illinois Malcolm Jay, ETS Program Manager 1 FDIC Examination Tools The Next Generation Malcolm Jay, ETS Program Manager 2 1 The year was 1996 Netgear

More information

Integrating Siebel CRM 8 with Oracle Applications

Integrating Siebel CRM 8 with Oracle Applications Integrating Siebel CRM 8 with Oracle Applications Agenda Corporate Overview Siebel 8.0 New Features Siebel Integration Approaches Integration with Oracle Applications Option 1 Option 2 Pros and Cons Evaluation

More information

The New Healthcare Marketplace: Hospital Physician Business Models and Healthcare Reform Legislation

The New Healthcare Marketplace: Hospital Physician Business Models and Healthcare Reform Legislation The New Healthcare Marketplace: Hospital Physician Business Models and Healthcare Reform Legislation October 19, 2010 Today s Webinar Presenters Lars Enstrom Managing Director Alvarez & Marsal Healthcare

More information

Fundamental Concepts and Models

Fundamental Concepts and Models Fundamental Concepts and Models 1 1. Roles and Boundaries Could provider The organization that provides the cloud based IT resources Cloud consumer An organization (or a human) that has a formal contract

More information

InfoPath & SharePoint Designer 2010 Workflows Together. Laura Derbes Rogers Senior SharePoint Consultant Rackspace Hosting

InfoPath & SharePoint Designer 2010 Workflows Together. Laura Derbes Rogers Senior SharePoint Consultant Rackspace Hosting InfoPath & SharePoint Designer 2010 Workflows Together Laura Derbes Rogers Senior SharePoint Consultant Rackspace Hosting About Me Laura Derbes Rogers, Microsoft MVP I live in Birmingham, Alabama From

More information

NIST Big Data Phase I Public Working Group

NIST Big Data Phase I Public Working Group NIST Big Data Phase I Public Working Group Reference Architecture Subgroup May 13 th, 2014 Presented by: Orit Levin Co-chair of the RA Subgroup Agenda Introduction: Why and How NIST Big Data Reference

More information

Preparing Your Data For Cloud

Preparing Your Data For Cloud Preparing Your Data For Cloud Narinder Kumar Inphina Technologies 1 Agenda Relational DBMS's : Pros & Cons Non-Relational DBMS's : Pros & Cons Types of Non-Relational DBMS's Current Market State Applicability

More information

Integration Architecture & (Hybrid) Cloud Scenarios on the Microsoft Business Platform. Gijs in t Veld CTO BizTalk Server MVP BTUG NL, June 7 th 2012

Integration Architecture & (Hybrid) Cloud Scenarios on the Microsoft Business Platform. Gijs in t Veld CTO BizTalk Server MVP BTUG NL, June 7 th 2012 Integration Architecture & (Hybrid) Cloud Scenarios on the Microsoft Business Platform Gijs in t Veld CTO BizTalk Server MVP BTUG NL, June 7 th 2012 Agenda Integration architecture; what & why? On-premise

More information

MAJOR US RETAILER HIRES THE HENSON GROUP TO REVIEW AND ENHANCE EXCHANGE 2003 ENVIRONMENT

MAJOR US RETAILER HIRES THE HENSON GROUP TO REVIEW AND ENHANCE EXCHANGE 2003 ENVIRONMENT Overview Country or Region: Global Industry: Clothing Apparel & Retail Customer Profile The Tommy Hilfiger Group is a multi-billion-dollar global apparel brand which remains one of the most widely recognized

More information

Syllabus INFO-UB-3322. Design and Development of Web and Mobile Applications (Especially for Start Ups)

Syllabus INFO-UB-3322. Design and Development of Web and Mobile Applications (Especially for Start Ups) Syllabus INFO-UB-3322 Design and Development of Web and Mobile Applications (Especially for Start Ups) Fall 2014 Stern School of Business Norman White, KMEC 8-88 Email: [email protected] Phone: 212-998

More information

Click to edit Master title style

Click to edit Master title style Click to edit Master title style Open Payment Systems: How Fare Systems Operate Now and Where we are Going. Bill McFarland, BSCS, MBA Dir. Technical Services INIT Innovations in Transportation, Inc. Cashless

More information

Component-Based and Service-Oriented Software Engineering: Key Concepts and Principles

Component-Based and Service-Oriented Software Engineering: Key Concepts and Principles Component-Based and Service-Oriented Software Engineering: Key Concepts and Principles Hongyu Pei Breivold, Magnus Larsson ABB AB, Corporate Research, 721 78 Västerås, Sweden {hongyu.pei-breivold, magnus.larsson}@se.abb.com

More information

Web-Based Hazus-MH. A Conceptual Approach. Mourad Bouhafs, AVP ATKINS Atlanta [email protected]

Web-Based Hazus-MH. A Conceptual Approach. Mourad Bouhafs, AVP ATKINS Atlanta mourad.bouhafs@atkinsglobal.com Web-Based Hazus-MH A Conceptual Approach Mourad Bouhafs, AVP ATKINS Atlanta [email protected] 1 Outline Needs Assessment Hazus-MH and the Web Hazus-MH as a Web Service/Web API Introduction

More information

WHAT IS AN APPLICATION PLATFORM?

WHAT IS AN APPLICATION PLATFORM? David Chappell December 2011 WHAT IS AN APPLICATION PLATFORM? Sponsored by Microsoft Corporation Copyright 2011 Chappell & Associates Just about every application today relies on other software: operating

More information

Architecture Design For Web-based Application Systems. Instructor: Dr. Jerry Gao Class: CMPE296U

Architecture Design For Web-based Application Systems. Instructor: Dr. Jerry Gao Class: CMPE296U Architecture Design For Web-based Application Systems Instructor: Dr. Jerry Gao Class: CMPE296U Architecture Design For Web-Based Application Systems - (1994-1995) Hypertext Web Systems: Graphic Web Browsers

More information

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng Software Development Process and Activities CS 490MT/5555, Fall 2015, Yongjie Zheng Software Process } A set of activities that leads to the production of a software product } What product we should work

More information

Cloud Computing. Chapter 4 Infrastructure as a Service (IaaS)

Cloud Computing. Chapter 4 Infrastructure as a Service (IaaS) Cloud Computing Chapter 4 Infrastructure as a Service (IaaS) Learning Objectives Define and describe IaaS and identify IaaS solution providers. Define and describe colocation. Define and describe system

More information

CRM Magic with Data Migration & Integration

CRM Magic with Data Migration & Integration CRM Magic with Data Migration & Integration Daniel Cai http://www.kingswaysoft.com http://danielcai.blogspot.com About me Daniel Cai Principal Developer @KingswaySoft An independent software company offering

More information

information planning communication art place making Visual Communication Methods

information planning communication art place making Visual Communication Methods information planning communication art place making 1 introduction About This Document This document was created for the College of Urban Planning and Public Affairs, University of Illinois at Chicago

More information

CASE STUDY: THE PARLIAMENTARY ARCHIVES

CASE STUDY: THE PARLIAMENTARY ARCHIVES CASE STUDY: THE PARLIAMENTARY ARCHIVES January 2015 ABSTRACT This case study covers the Parliamentary Archives and their experience of procuring via the G-Cloud framework and running public cloud storage

More information

Software Engineering & Architecture

Software Engineering & Architecture Software Engineering & Architecture 11. QUALITY METRICS AND VISUALIZATION Martin Kropp University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems References Some

More information

PART I: The Pros and Cons of Public Cloud Computing

PART I: The Pros and Cons of Public Cloud Computing PART I: The Pros and Cons of Public Cloud Computing Pros 1. Efficiently use the resource through sharing Users from companies or enterprises can access to the centralized servers where data are stored

More information

Syllabus INFO-GB-3322. Design and Development of Web and Mobile Applications (Especially for Start Ups)

Syllabus INFO-GB-3322. Design and Development of Web and Mobile Applications (Especially for Start Ups) Syllabus INFO-GB-3322 Design and Development of Web and Mobile Applications (Especially for Start Ups) Spring 2015 Stern School of Business Norman White, KMEC 8-88 Email: [email protected] Phone: 212-998

More information

Realizing the Value Proposition of Cloud Computing

Realizing the Value Proposition of Cloud Computing Realizing the Value Proposition of Cloud Computing CIO s Enterprise IT Strategy for Cloud Jitendra Pal Thethi Abstract Cloud Computing is a model for provisioning and consuming IT capabilities on a need

More information

ArcGIS for Server in the Amazon Cloud. Michele Lundeen Esri

ArcGIS for Server in the Amazon Cloud. Michele Lundeen Esri ArcGIS for Server in the Amazon Cloud Michele Lundeen Esri What we will cover ArcGIS for Server in the Amazon Cloud Why How Extras Why do you need ArcGIS Server? Some examples Publish - Dynamic Map Services

More information

Tivoli Storage Flashcopy Manager for Windows - Tips to implement retry capability to FCM offload backup. Cloud & Smarter Infrastructure IBM Japan

Tivoli Storage Flashcopy Manager for Windows - Tips to implement retry capability to FCM offload backup. Cloud & Smarter Infrastructure IBM Japan Tivoli Storage Flashcopy Manager for Windows - Tips to implement retry capability to FCM offload backup Cloud & Smarter Infrastructure IBM Japan Rev.1 2013 IBM Corporation Abstract Tivoli Storage Flashcopy

More information

Reporting. Microsoft Dynamics GP 2010. enterpri se. Dynamics GP. Christopher Liley. Create and manage business reports with.

Reporting. Microsoft Dynamics GP 2010. enterpri se. Dynamics GP. Christopher Liley. Create and manage business reports with. Microsoft Dynamics GP 2010 Reporting Create and manage business reports with Dynamics GP David Duncan Christopher Liley [ PUBLISHING J enterpri se - BIRMINGHAM MUMBAI Preface 1 Chapter 1: Meeting the Reporting

More information

SOA and VO-s. Steve Stein Mari-Klara Oja. International School of New Media Models of Virtual Organizations Dr. Oliver Bohl

SOA and VO-s. Steve Stein Mari-Klara Oja. International School of New Media Models of Virtual Organizations Dr. Oliver Bohl SOA and VO-s Steve Stein Mari-Klara Oja International School of New Media Models of Virtual Organizations Dr. Oliver Bohl Overview / Context of SOA VO/VE (idea) from static mainframes to dynamic arrangements

More information

LECTURE 1. SYSTEMS DEVELOPMENT

LECTURE 1. SYSTEMS DEVELOPMENT LECTURE 1. SYSTEMS DEVELOPMENT 1.1 INFORMATION SYSTEMS System A system is an interrelated set of business procedures used within one business unit working together for a purpose A system has nine characteristics

More information

Data Dictionary and Normalization

Data Dictionary and Normalization Data Dictionary and Normalization Priya Janakiraman About Technowave, Inc. Technowave is a strategic and technical consulting group focused on bringing processes and technology into line with organizational

More information

CSCI 5828 Spring 2010 Foundations of Software Engineering. - Arpit Sud

CSCI 5828 Spring 2010 Foundations of Software Engineering. - Arpit Sud CSCI 5828 Spring 2010 Foundations of Software Engineering - Arpit Sud 1 Agenda What is it? Why to use it? When to use it? How to implement it? Where not to apply it? 2 Service oriented Architecture 3 What

More information

Dev01: Kentico CMS 7 Developer Essentials Syllabus

Dev01: Kentico CMS 7 Developer Essentials Syllabus Dev01: Kentico CMS 7 Developer Essentials Syllabus About This Course [Elements of this syllabus are subject to change] This three-day, instructor-led course teaches Web Developers the introductory fundamentals

More information

David Pilling Director of Applications and Development

David Pilling Director of Applications and Development Service Oriented Architecture for Law Firms: SOA is inevitable, are you ready? David Pilling Director of Applications and Development "Things should be made as simple as possible, but no simpler. -- Albert

More information

CS 348: Computer Networks. - IP addressing; 21 st Aug 2012. Instructor: Sridhar Iyer IIT Bombay

CS 348: Computer Networks. - IP addressing; 21 st Aug 2012. Instructor: Sridhar Iyer IIT Bombay CS 348: Computer Networks - IP addressing; 21 st Aug 2012 Instructor: Sridhar Iyer IIT Bombay Think-Pair-Share: IP addressing What is the need for IP addresses? Why not have only MAC addresses? Given that

More information

Federated Directory Services

Federated Directory Services Federated Directory Services for the connected enterprise Federated Directory Server helps overcome the challenge of distributed identity data, which is a significant hurdle to the deployment of new enterprise

More information

Creating a Single Sign on Web Portal using Azure. Robert Crane Office 365 MVP @directorcia

Creating a Single Sign on Web Portal using Azure. Robert Crane Office 365 MVP @directorcia Creating a Single Sign on Web Portal using Azure Robert Crane Office 365 MVP @directorcia Agenda What is Office 365? What is Azure? What is Single Sign on (SSO)? What is WAAD? Accessing your free WAAD

More information

A Business Case for Enterprise Content Integration using Ontology-based Content Analytics

A Business Case for Enterprise Content Integration using Ontology-based Content Analytics A Business Case for Enterprise Content Integration using Ontology-based Content Analytics Edward Curry 1, Bill McDaniel 1, Dmitry Shingarev 1, Milena C. Caires 1, Mark Leyden 1, Sean O Riain 1, Karl Flannery

More information

Connecting Flash in Cloud Storage

Connecting Flash in Cloud Storage Connecting Flash in Cloud Storage Kevin Deierling Vice President Mellanox Technologies kevind AT mellanox.com Santa Clara, CA 1 Five Key Requirements for Connecting Flash Storage in the Cloud 1. Economical

More information

Layering a computing infrastructure. Middleware. The new infrastructure: middleware. Spanning layer. Middleware objectives. The new infrastructure

Layering a computing infrastructure. Middleware. The new infrastructure: middleware. Spanning layer. Middleware objectives. The new infrastructure University of California at Berkeley School of Information Management and Systems Information Systems 206 Distributed Computing Applications and Infrastructure Layering a computing infrastructure Middleware

More information

8/25/2008. Chapter Objectives PART 3. Concepts in Enterprise Resource Planning 2 nd Edition

8/25/2008. Chapter Objectives PART 3. Concepts in Enterprise Resource Planning 2 nd Edition Concepts in Enterprise Resource Planning 2 nd Edition Chapter 2 The Development of Enterprise Resource Planning Systems Chapter Objectives Identify the factors that led to the development of Enterprise

More information

WEB III: Advanced. Dates: Mondays, 6 9PM: June 2, 2014 August 4, 2014. Location Terra Building Room 1212

WEB III: Advanced. Dates: Mondays, 6 9PM: June 2, 2014 August 4, 2014. Location Terra Building Room 1212 WEB III: Advanced [Pick the date][type the sender company name] CE 2410 C/N 01 Summer 2014 Course Information Dates: Mondays, 6 9PM: June 2, 2014 August 4, 2014 Location Terra Building Room 1212 Instructor

More information

Effective Teaching Approaches in Diploma of Business Course

Effective Teaching Approaches in Diploma of Business Course Abstract: Effective Teaching Approaches in Diploma of Business Course Tsen Tzee Mui Curtin University Sarawak Malaysia [email protected] Dr Beena Giridharan Curtin University Sarawak Malaysia [email protected]

More information

Cloud Computing. Chapter 8 Virtualization

Cloud Computing. Chapter 8 Virtualization Cloud Computing Chapter 8 Virtualization Learning Objectives Define and describe virtualization. Discuss the history of virtualization. Describe various types of virtualization. List the pros and cons

More information

Everything You Always Wanted to Know About Log Management But Were Afraid to Ask. August 21, 2013

Everything You Always Wanted to Know About Log Management But Were Afraid to Ask. August 21, 2013 Everything You Always Wanted to Know About Log Management But Were Afraid to Ask August 21, 2013 Logging and Log Management Logging and Log Management The authoritative Guide to Understanding the Concepts

More information

! PRIVATE!PAGES! DRUPAL!7!WEB!CONTENT!MANAGEMENT!

! PRIVATE!PAGES! DRUPAL!7!WEB!CONTENT!MANAGEMENT! UNIVERSITY*OF*CALGARY InformationTechnologies PRIVATEPAGES DRUPAL7WEBCONTENTMANAGEMENT September2015 TableofContents FirstSteps...1 AddingaPrivatePage...2 AccessControl...4 PrivatePages Drupal7WebContentManagement

More information

A Comparison of Web Development Technologies: WebObjects vs. ASP.NET

A Comparison of Web Development Technologies: WebObjects vs. ASP.NET A Comparison of Web Development Technologies: WebObjects vs. ASP.NET By: Adnan Al-Ghourabi Chairman: Dr. Axel Schreiner Reader: Dr. James Heliotis Department of Computer Science Rochester Institute of

More information

A Pattern Language for Developing Web based Multi Source Data Acquisition Application 1

A Pattern Language for Developing Web based Multi Source Data Acquisition Application 1 A Pattern Language for Developing Web based Multi Source Data Acquisition Application 1 Lei Zhen Email: [email protected] Guangzhen Shao Email: [email protected] Beijing Salien Computer Company

More information