THE IMPORTANCE OF APPLICATION PLANNING cannot be overstated. An

Size: px
Start display at page:

Download "THE IMPORTANCE OF APPLICATION PLANNING cannot be overstated. An"

Transcription

1 3 Before You Begi Codig Applicatio Plaig THE IMPORTANCE OF APPLICATION PLANNING caot be overstated. A applicatio pla provides a roadmap for the developmet process with various waypoits ad milestoes sigalig the completio of a phase of the pla. Developers ofte jump straight ito the developmet of applicatio code without a pla. It s great that they re eager to get started, but that s ot the most importat thig. Imagie you wake up oe morig ad decide that you re goig to compete i a local 5K road race.you show up at the advertised startig poit ad pay your fee to register for the race.you get your umber ad go over ad stad with a swarmig crowd of people. Someoe walks over ad without explaiig the course or givig ayoe a map, fires the starter s pistol. What s the result? Mass cofusio? A couple of thigs are workig agaist you. Recall that we did t metio whether you d prepared for this race.we oly said that you woke up ad decided to ru it.you showed up ad made your ivestmet, but you received o istructios ad had o idea of the directio that you were to ru.you had o clearly defied course, rules, or a fiish lie. This same type of sceario happes all too ofte i applicatio developmet.the fact is that there is plety of work to be completed before a developer starts to crak out applicatio code.the work icludes plaig ad preparig the roadmap or framework o which the applicatio will be

2 36 Chapter 3 Before You Begi Codig Applicatio Plaig structured. It also icludes the plaig of the physical structure of the eviromet o which the applicatio will fuctio ad the developmet of a strict methodology for the applicatio-developmet process. All are essetial to the successful completio of the project. I this chapter, we discuss how attetio to architectural cosideratios, effective plaig, ad stickig with a stadard developmet methodology for your project ca help you to successfully complete your applicatiodevelopmet project.the topics of discussio i this chapter help pait a clear picture of the applicatio-developmet process ad ca help every developer gai a better uderstadig of how to effectively improve his or her cotributio to the process. Applicatio Architecture Applicatio architecture is a importat cocept to uderstad.the architecture of a applicatio describes the workig parts of that applicatio, how they are defied, ad how they iteract with each other (see Figure 3.1). webroot idex.html images + evets.html image1.gif + compay.html image2.gif + products.html image3.gif + services.html + cotacts.html + Figure 3.1 Typical web site architecture.

3 Applicatio Architecture 37 The applicatio s architectural model gives developers a view of the big picture of the applicatio rather tha a close-up shot of every detail. It provides a framework that guides the iteractio of various elemets of the applicatio. The operatig system (OS) or physical architecture of the server eviromet ca ifluece a applicatio s architecture.your cliet s scalability requiremets ad their expectatios i regards to the applicatio s performace also have a effect o applicatio architecture. If you ve ever bought somethig that was advertised to require some assembly, you might be able to relate to how importat it is to have a clear pla of the product ad how each part itercoects ad is iteded to fuctio.the istructios that are icluded serve much the same purpose as our applicatio architecture. It gives you, the developer, a view of the product from several agles ad from begiig to completio. I software developmet, these istructios provide us with a clear visio of the orgaizatio of the applicatio. It should detail the parts of the applicatio ad how those parts iteract with other parts. It might also divide parts of the applicatio ito smaller subsystems based o their fuctios or behaviors. A good architecture should ot stop there, however; it should also take ito cosideratio the requiremets for performace, extesibility, reuse, ad presetatio. Uderstadig Tiered Architecture Our discussio of applicatio architecture ow begis to take a more descriptive tur. I this ext sectio, we take a closer look at two cocepts of applicatio architecture that defie separate tiers withi the applicatio. These tiers fuctio as a filter betwee logical sectios of the applicatio. The filters serve as a separator that eables the developer to group code by fuctio ad separate data from code. May of the cocepts that we re goig to talk about have a lot i commo with object-orieted programmig (OOP) ad desig priciples.this is ot ecessarily the way that ColdFusio developers have traditioally looked at applicatio developmet. As we move through the material i the ext several sectios, you ll see that these ideas begi to make more ad more sese. The goal of a tiered architecture is to eable the developer to separate applicatio code ito like chuks. Each tier of the applicatio architecture cotais code that has a similar purpose withi the applicatio. It is easy to take this separatio of code to the extreme, but that s ot what we re tryig to do (or is that very useful i most cases). Merely providig a logical divisio of code fuctioality is usually eough.

4 38 Chapter 3 Before You Begi Codig Applicatio Plaig Two-Tier Architectures We ve all heard the term cliet-server, right? Well, a two-tier applicatio architecture is sometimes referred to as cliet-server architecture (see Figure 3.2). ColdFusio applicatios i their most basic form are two-tiered applicatios.there is code that creates a iterface for the users to iteract with, ad there is data i the database that feeds the display.the presetatio code is the first tier, or the presetatio tier, ad the database is the data tier. Cliet Request Server Respose Cliet Figure 3.2 Server Cliet-server architecture. It does t matter how may servers you ve clustered that code across; we re ot talkig about physical eviromet architecture right ow, just the fuctioality of the applicatio code ad how it is orgaized. Applicatio architecture tiers are defied by their purpose.the followig list breaks dow the tiers i a two-tier architecture: Applicatio tier Presetatio code Busiess logic code Busiess rule validatio code Compoet iteractio code Database iteractio code Data tier Storage of data The typical two-tier applicatio architecture is oe where your applicatio code is i oe tier ad your data is i aother.this meas that there is o separatio betwee your presetatio code, your data iterface code, ad your busiess logic code.this is typically the way that most ColdFusio developers start creatig applicatios because typical static web sites have o eed to separate code ito fuctioal groups. Check out the sample code i Listig 3.1.

5 Applicatio Architecture 39 Listig 3.1 Two-Tier Applicatio Sample Code <html> <head> <title>2-tier Applicatio Example</title> </head> <body> <cfquery ame= getcustomer s datasource= ICFMX > SELECT CustomerName, Customer FROM Customers </cfquery> <table> <tr> <td>customer Name</td> <td>customer </td> </tr> <cfoutput query= getcustomer s > <tr> <td>#getcustomer s.customername#</td> <td>#getcustomer s.customer #</td> </tr> </cfoutput> </table> </body> </html> Of course, sytactically, there is othig wrog with this code. It returs the eeded values from the database, creates a layout for the page, ad outputs the results ito that layout. The problems that you ca ru ito with a two-tier architecture are the real killer. Oe of the stregths of ColdFusio is that it eables developers to easily write reusable ad portable code that ca be accessed from aywhere i the applicatio. A two-tier applicatio architecture does ot play to this stregth; i fact, it s oly a little better tha static Hypertext Markup Laguage (HTML). I kow that you ve got dyamic data comig out of the database, but if you wat to chage the layout of items at the top of the page or chage the avigatioal elemets of a page, you ve got to touch several code templates to get this doe. What if you eed to use the same query o 50 pages throughout your applicatio? You are forced to write that query 50 times ad maitai all 50 istace of that query, which ca be a pai if the requiremets for the query chage or if the structure of your database eeds to chage.we later talk about code reuse i much more detail, but you should uderstad ow that creatig a well-plaed architectural model eables you to avoid reworkig your applicatio dow the road.

6 40 Chapter 3 Before You Begi Codig Applicatio Plaig N-Tier Architectures Applicatios that cosist of more tha two tiers are ofte called N-tier applicatios. N-tier applicatio architectures provide a model for developers to build highly scalable ad reusable applicatios.the N-tier architecture focuses o breakig the applicatio ito logical segmets. By doig this, the developers ca support each segmet idividually ad maitai the applicatio i sectios istead of recodig the etire system as a result of mior chage requests. Do you remember our code example from the typical two-tier applicatio? Cotrast what we saw i Listig 3.1 with the code show i Listig 3.2. Listig 3.2 N-Tier Applicatio Code Sample <cficlude template= commo/header.cfm > <cficlude template= data/getcustomer s.cfm > <table> <tr> <td>customer Name</td> <td>customer </td> </tr> <cfoutput query= getcustomer s > <tr> <td>#getcustomer s.customername#</td> <td>#getcustomer s.customer #</td> </tr> </cfoutput> </table> <cficlude template= commo/footer.cfm > Of course, this is just a example of oe way that you could accomplish a bit more scalable applicatio, ad it s a very arrow example, but you get the picture.you ow have reusable header, footer, ad ColdFusio query or stored procedure templates that easily ca be maitaied from oe place.this type of orgaizatioal structure for your code ca help to alleviate umerous problems that ca occur withi the applicatio-developmet process.whe you start to thik about all possible requiremets that ca go ito the developmet of a eterprise applicatio, you see that the more logically you ca orgaize your code, the better off you are. It seems oly logical that it would be easier to support ad maitai presetatio code i oe area that is separate from the code ad that supports the busiess rules ad busiess logic. Likewise, if all your data access is through stored procedures, you ca keep up with that code easier ad with the templates that you use to call your stored procedures as well.the N-tier architecture eables you to separate support for applicatio compoets, such as databases, mail, ad file servers, ito their ow logical areas withi your applicatio structure ad withi other servers as well.

7 Applicatio Architecture 41 Presetatio Tier HTML/CFML Output Code Busiess Tier CFML Busiess Templates Cliet Computer Web Server Data Storage Stored Procedures CFML Stored Procedure or Query Templates Data Tier Data Iterface Tier Figure 3.3 N-tier applicatio architecture. I a ColdFusio applicatio, you ofte access databases that reside o the same server as the ColdFusio Markup Laguage (CFML) templates.with a N-tier architecture, you add a additioal layer to your applicatio ad ca separate the presetatio-level code from the data i the database.this meas that the code that supports what the user sees is separated from the code that makes up the pieces of busiess logic that ru the applicatio.the busiessorieted code also is kept separate from the data that is at the heart of the applicatio. This type of applicatio architecture makes much more sese ad is easier to keep up with if you employ ColdFusio mappigs.take a look at Figure 3.4 to get a feel for ColdFusio mappigs. You might kow that by usig ColdFusio mappigs, you ca refer to templates usig the CFINCLUDE tag by simply referrig to that mappig. Note that the mappig is merely a alias for a physical directory to which your server has access. Do t worry if you re ot familiar with how ColdFusio mappigs are set up or eve how they work.we discuss them thoroughly i Chapter 25, Admiisterig the ColdFusio Server. For your applicatio to perform specific fuctios or to coduct certai trasactios, the various layers of the applicatio iteract with each other. Oe of the advatages of separatig your applicatio ito a layered architecture is to miimize the iteractio of the cliet or presetatio layer with the backed data.the reaso for this is that all your busiess logic code is wrapped ito the busiess layer ad oly this layer iteracts directly with the data. I OOP approaches, these differet layers are sometimes referred to as the iterface ad the implemetatio.

8 42 Chapter 3 Before You Begi Codig Applicatio Plaig Figure 3.4 ColdFusio MX CFAS mappigs. Applicatio Layers Developers should take the time to uderstad the fudametals of applicatio layers to write well-orgaized applicatios that are easy to maitai. I this sectio, we take a look at how applicatios ca logically be divided ito layers, regardless of the physical architecture o which the applicatio is loaded. At its most basic, the N-tier applicatio architecture ca be divided ito the followig tiers or layers: Presetatio Busiess Data Iterface Data The layers of your applicatio code ca be separated by your physical file ad directory structure. Figure 3.5 shows the ColdFusio Studio developmet iterface.the directory structure is set up to mimic the divisio of applicatio layers that we ve bee discussig.

9 Applicatio Layers 43 Figure 3.5 Physical directory structure of our applicatio as see i ColdFusio Studio 5. The Presetatio Layer The presetatio layer is made up of all elemets of the applicatio with which the user sees ad iteracts.this list of elemets ca iclude colors, fot faces ad styles, images, form cotrols, avigatioal elemets, ad more. These elemets together are ofte referred to as the graphical user iterface (GUI) or the user iterface (UI).These elemets defie the look ad feel of the applicatio ad their cosistecy ad flow ca determie the dispositio of the user experiece. Users geerally iteract with ColdFusio applicatios through the use of a web browser. I say geerally because ColdFusio applicatios are clietidepedet.this meas that the ColdFusio Server is ot cocered with the presetatio-layer method or with the applicatio logic ad processig. This eables ColdFusio to output data to differet types of cliets, icludig web browsers (HTML), Persoal Data Assistats (PDAs) (chtml, XHTML), cell-phoes ad other wireless cliet browsers (WML), ad eve voice browsers (VoiceXML).

10 44 Chapter 3 Before You Begi Codig Applicatio Plaig The UI It seems that a ew techology pops up every day to eable desigers ad developers to produce more feature-rich UIs. I a N-tier applicatio, the presetatio code for the UI should ever access the database directly. Likewise, the UI code should ever hadle busiess rules or process logic. It should merely provide for scree layout. Figure 3.6 shows a simple UI. Figure 3.6 A simple UI for our applicatio. Whe discussig UI cosideratios, agai the applicatio architect ad desiger have to rely o the completeess of the requiremets that have bee gathered.these requiremets should brig ito better focus issues such as layout, colors, fots, scree resolutio, plug-is, scriptig, ad browser compatibility that are ecessary to deliver a applicatio that meets the customer s eeds. Layout I m o artist or graphic desiger ad you might ot be either, but payig close attetio to layout of the screes throughout your applicatio ot oly makes your applicatio more aesthetically appealig to the user, but also it ehaces the usability of the applicatio itself. Cosistecy is oe of the key elemets that you eed to remember about layout.you do t wat your user hoppig from page to page i your applicatio ad beig forced to search for commo elemets such as avigatio ad form cotrols. Correctly treatig the uused spaces i the browser scree ad havig a balaced layout that utilizes all areas of the scree are importat. Remember that you ca say as much with a clea ad professioal layout as you ca with lots of flashig baers, blikig text, ad dacig cartoo characters.

11 Applicatio Layers 45 Advertisig ad publishig compaies employ experts i layout who provide ads with balaced ad proportioal layouts that mix typography, images, ad text to covey a message. Each elemet is importat to layout. Olie, layout is ot quite as cut ad dry.we have to worry about users scree resolutio settigs ad color-quality settigs. May web desigers ad developers use framed layouts for their sites. Some employ dyamic avigatioal elemets. Oe thig is clear, however; cosistecy i your chose layout method is key to makig ad keepig users comfortable with your applicatio. Colors You should cosider colors whe plaig the look ad feel of your applicatio. Colors ca calm or ca stir up emotios i users. Be careful with colors, however. May times, desigers or developers use too may colors or the wrog colors.this has the udesired effect of pullig the user s attetio away from the cotet, ad it distracts their focus. Color o the web is quite differet from color i prit media. After the prited item is completed, the color caot be chaged ad everyoe sees the same color. It does ot work this way olie, however.there are may limitatios to presetig color o the web. Some of the thigs that you should keep i mid iclude the followig: Moitors that display your web site or applicatio have a wide variety of depth settigs. Color settigs ca be calibrated differetly or use differet gamma settigs. OSs affect the way that color is displayed. Web browsers affect the way that color is displayed. Color should be a big cocer to ayoe who is developig a UI.You should kow that there are certai colors that are cosidered browser-safe. By workig withi the limits of those browser-safe colors, you ca be more cofidet that your users are seeig the colors that you iteded them to see. Note You ca dowload the color-safe browser palette ad fid more tips regardig colors from Lyda Weima s web site at

12 46 Chapter 3 Before You Begi Codig Applicatio Plaig Scree Resolutio Whe plaig your applicatio, keep i mid the scree resolutio settigs of your users video adapters. Most computers are shipped with video settigs defaulted to pixels. However, ewer flat-pael moitors ofte have a lowest resolutio settig of May developers forget that the actual usable scree real estate is less tha what the resolutio settig would lead you to believe. Check out the popular resolutio settigs ad correspodig browser widow sizes show i Table 3.1 to help you keep your layout o target. Table 3.1 Scree Resolutios ad Browser Widow Sizes Scree Resolutio Settig Browser Widow Size It s always a good idea to desig your applicatio so that the lowest resolutio moitors ca view ad iteract with your applicatio without ay formattig problems or excessive scrollig. Do t guess at what your users resolutio settigs are. If at all possible, this iformatio should be provided as part of your requiremets-gatherig process. Fots We commuicate user istructios with text o our screes, so, of course, we eed to make sure that we pick fots that are goig to be easy for the user to read.the most commoly used fots are Arial ad Times New Roma. However, most web presetatios look better with a fot from the sas-serif fot family.these fots iclude Arial, Helvetica, or Verdaa.The reaso for usig these stadard fots is that the user must have the specified fot o his or her system, or you must push that fot to the user alog with your code. By varyig fot sizes, styles, ad colors, you ca covey ot oly iformatio, but also the importace of that iformatio. Keep i mid that it s ot a good idea to use more tha oe or two fots i your applicatio. I additio, remaiig cosistet with fot sizes ad styles whe callig out headigs or idetifyig otes throughout your applicatio is a importat factor i maitaiig cotiuity.

13 Applicatio Layers 47 Images As we move through the developmet of our applicatio, we are addig more ad more cotet ad are developig web graphics to support that cotet. As they say, a picture is worth a thousad words, ad if you have the choice of readig all those words or checkig out a cool graphic, I m sure you d choose the graphic. There are, however, drawbacks to stuffig your applicatio with graphics ad photos. Oe of the largest drawbacks is the effect that overloadig your web pages with refereces to images ca cause.the reaso for this is that the user must wait for all images to dowload before the requested page is fully viewable.thus, if you re dowloadig lots of images o every page, you ca slow dow your page respose times. Aother thig to keep i mid whe you re plaig your graphical presetatio ad cosiderig photos, graphics, ad other graphical elemets (such as Flash or Shockwave files) is that the badwidth of the ed user likely is ot as fast as your access to your developmet server (ofte local). Cliet-Side Scriptig May web applicatios use cliet-side scriptig laguages such as JavaScript ad VBScript to ehace the user experiece. Developers ofte utilize clietside scriptig for form validatio, user alerts ad cofirmatio, ad ew widows. VBScript is a scaled-dow versio of Microsoft s Visual Basic (VB) laguage. Support for VBScript is built i to Microsoft s Iteret Explorer (IE). However, if your user is accessig your applicatio usig a Netscape or other web browser, he or she might eed to dowload special plug-is to support the code. JavaScript was origially a creatio of Netscape. It was called LiveScript, but the ame was chaged whe Netscape ad Su Microsystems struck up a partership ad developed the laguage joitly. JavaScript shares some of the same structures ad sytax with Java, but the laguages are totally separate. JavaScript is most ofte the cliet-side scriptig laguage of choice for most developers because of its cross-browser compatibility. Browser Compatibility Speakig of browser compatibility, developers eed to be wary of problems with the compatibility of their code with various browsers. Such compatibility ofte affects the placemet of elemets o the scree.

14 48 Chapter 3 Before You Begi Codig Applicatio Plaig The key to avoidig problems with browser compatibility is to fid out what browser ad browser versio your users are usig. Of course, uless your applicatio will be viewed withi a closed eviromet such as a itraet, this task is ext to impossible.what you must do is build a profile of your typical user ad build the applicatio to support that profile. Eve after determiig your typical user profile ad buildig your applicatio, you still have to test for compatibility. I your user s preferred browser ad its earest competitor, test your applicatio for proper placemet ad aligmet of scree elemets. I other words, if the typical user s browser is IE 5.5, test with it, but also test with a comparable versio of Netscape Navigator. You also eed to be aware that the user might have disabled support for cliet-side scriptig laguages such as JavaScript. If the user s browser does ot support your code, you should pla ahead for how to hadle iteractig with that user. The Busiess Layer As we cotiue to break out the layers or tiers of N-tier applicatio architectures, let s pause for a momet to get a geeral uderstadig of the busiess logic layer ad the role it plays. Just as every busiess is ru o operatig procedures or busiess rules, every applicatio operates uder a similar set of criteria.these criteria are what we call the busiess rules of the applicatio.these busiess rules are strug together i busiess process logic.these busiess processes eable developers to create complete trasactios that users will be guided through durig their iteractio with the applicatio. The busiess layer should provide us with a area i which we ca write ad store the code that iterprets our busiess rules. It should also provide for a way to follow the logical flow of the busiess, or the busiess process logic. Busiess Rules As stated earlier, every busiess rus o rules, ad busiess rules i a ColdFusio applicatio defie how the applicatio eables users to iteract with your data. For example, if a busiess rule states that the user must provide a valid address to log i to the applicatio, the applicatio must eforce this rule. Oe way to eforce such a rule is to eable a user to register by providig his or her address.we the ca geerate a password ad it to the address that the user provided.

15 Applicatio Layers 49 Because busiess rules are defied to help maitai the itegrity of your data, the busiess rules are ot defied by the applicatio architecture. Just the opposite is true:the applicatio architecture is defied to help support the busiess rules, the busiess processes, ad the process logic. The example that we just metioed might use oe or more specialized pieces of code to make the applicatio adhere to the busiess rule that the user must provide a valid address. Oe piece of code might check whether the address provided is i the proper format. Because it is up to you how ad where you eforce these rules, you might choose to eforce them usig cliet-side scriptig (usig, for example, JavaScript or VBScript). This ca also be accomplished usig a user-defied fuctios (UDF) or regular expressio. Busiess Process Logic Compliace with busiess rules usually meas that your applicatio trasactios have to follow some sort of defied busiess-process logic. A process is a actio that the user might take that requires multiple steps. Busiess processes eable users to move through complicated procedures i a way that breaks the process ito logical steps.the user cotiues iteractig with the applicatio alog the way util the applicatio has gathered all the iformatio that it eeds to complete the process. Create Cart Create Order & Validate Paymet User Logs I User Adds Item to Cart User Selects Checkout User Commits Order User Logs Out User Leaves Site Autheticate & Create Sessio Select User Details & Build Checkout Display Log Out User & Clear User Sessio Figure 3.7 Step-by-step process logic. Each step of a trasactio should lead the user step-by-step through the process ad should eforce the defied busiess rules alog the way. For example, may shoppig cart applicatios require ew users to register, providig persoal iformatio ad orderig iformatio alog the way. They ofte require users to ot oly provide their mailig address, but also to provide billig ad shippig addresses as well. A user would be overwhelmed if he or she were preseted with all these requiremets o the same scree.

16 50 Chapter 3 Before You Begi Codig Applicatio Plaig A busiess process would break these requiremets ito chuks that are easy for the user to deal with ad easy for the developer to maage. Not oly do you do a service to your users, but also you do a service to your developers. Data Iterface Layer The data iterface layer provides access to the data i your backed database. It does ot iclude ay busiess logic or costraits o how we iteract with the database.the data iterface layer merely eables us to do thigs like SELECT, INSERT, UPDATE, ad DELETE data from our database.the data iterface tier should ot cotai code that defies ay busiess rules or busiess processes, or should it cotai ay code that comprises ay presetatiolevel elemets. I your ColdFusio applicatio, the data iterface layer could be made up of templates that cotai the CFSTOREDPROC calls for the stored procedures that you ve writte i the data layer. It could also cotai CFQUERY tag calls that you ve separated ito fuctioal groups or idividual templates. If you thik about it, it makes sese to keep the data requests separate from the code that cotrols the presetatio.the structure of the data itself seldom chages.the presetatio-layer code, however, chages more ofte tha aythig else i the applicatio. If you keep your CFQUERY tag calls i the same template with your presetatio code, you ru the risk of iadvertetly messig up that code. It is better to separate the database calls ito separate templates that are accessed much less frequetly ad that are less proe to programmers fat figers. Data Layer The data layer is resposible for the storage of your data.this is your database.the data layer is where you ca tue ad optimize data storage ad data access ad provide direct access to the data i your backed database.the data layer exists whether you employ a two-tier or N-tier architecture with the busiess logic layer as a buffer to esure the itegrity of your data through the busiess rules that are eforced. The data layer is where you create stored procedures to perform queries agaist the data i the database.these might be very basic fuctios or might cosist of advaced filterig ad joiig techiques (to be discussed later). Your stored procedures should ot care about the busiess rules of the applicatio, oly the iput ad output parameters that they ll be hadlig.the busiess rules serve as a buffer to make sure that the oly values that get to your stored procedures are the oes that are valid.

17 Resource Plaig 51 It is withi the data layer that you optimize the performace of your database. Performace ehacemets such as table idexes eable you to access data faster withi the database, which speeds the query process. I tur, this improves the performace to the ed user through the presetatio layer. Summary The architectural model for ay applicatio is critical to the applicatio s success.whether the applicatio is scalable, easy-to-maitai, ad easy-toexted depeds o the quality of its architecture. A applicatio s architecture is iteded to give a better picture of how the etire system works. It shows how the parts work, ad it eables us to see this picture from several differet perspectives. Resource Plaig A major part of the hard work of makig your applicatio-developmet efforts successful is esurig that you ve properly plaed the eviromet i which the applicatio is goig to live.the importace of resource plaig really ca t be uderstated.to use a simple, but familiar, example, imagie that you wet to work ad that there was o desk for you to use, o lights for you to tur o, ad o computer for you to bag out code.you d fid it pretty hard to work, would t you? Similarly, for your applicatio to fuctio properly, it has to have a properly desiged ad thought-out workig eviromet. I may cases, achievig success with a project implemetatio depeds as much (if ot more) o resource plaig as it does o codig. How ivolved you are i the iitial stages of project plaig likely determies the amout of iput that you persoally have o the type ad amout of hardware used. Noetheless, beig as familiar as you ca with the best-case scearios makes you a ivaluable advisor should you fid yourself i that role. The followig sectio attempts to familiarize you with various processes you ca use to properly pla ad utilize your resources while tailorig them to suit your specific applicatios ad make the most of your fiscal resources. Eviromet Cosideratios Obviously, there are may times whe you are tasked with applicatio buildig i situatios i which the architecture ad eviromet have already bee decided for you. I those cases, the best you ca do as a developer is to

18 52 Chapter 3 Before You Begi Codig Applicatio Plaig make sure you write solid code, adhere to best practice stadards, ad make yourself aware of the subtleties of each specific OS/database combiatio where that code might be ru. Still, if you re lucky, there are times whe your advice as the expert is sought i makig the decisios about the platforms with which the applicatio will live. Developers ofte approach these situatios with a go with what you kow attitude. Although there s othig wrog with that attitude o the surface, you ll fid yourself of much more value to the cliet or customer if you ca idetify pros ad cos of each platform based o the cliet s specific situatio. As you read o, you should gai a better uderstadig of how you ca approach this eeds aalysis ad determie the best choices for ay give situatio. OSs We re hesitat to eve begi writig this sectio because we ca hear the screams of each devoted factio rigig i our ears. Agai, i may cases, you might play o role i this decisio. Still, if you were asked to make a recommedatio (ad I m sure you hold your ow strog opiios), it would help if you were able to make that recommedatio usig logical aalysis of the situatio istead of just your persoal devotio to oe choice or the other. Whe dealig with applicatios that make use of ColdFusio Server, you have three major choices i the world of OSs. Curretly, versios of ColdFusio Server are available for Widows, Solaris, ad Liux.Table 3.2 briefly outlies each choice ad its beefits ad drawbacks. Table 3.2 Beefits ad Drawbacks of OS/ColdFusio Combiatios Versio Commo Beefits Commo Drawbacks ColdFusio Widows Ease of admiistratio; tight Slightly less overall itegratio with Iteret stability; ot accepted i Iformatio Server (IIS); some eterprise hardware compoets are eviromets geerally cheaper ColdFusio Solaris Greater overall stability of the Icreased complexity of server; ofte the oly choice i admiistratio; eviromets that have employees to maage stadardized o Solaris this type of equipmet are more expesive tha their Widows couterparts; hardware compoets are geerally more expesive

19 Resource Plaig 53 Versio Commo Beefits Commo Drawbacks ColdFusio Liux The cheapest of all three choices Short product history (the from a OS stadpoit, as may first versio of ColdFusio versios are free; ca be ru o for Liux was t available the same, less-expesive hardware util release 4.5); icreased as Widows versios; ca prove complexity of admiistrato be slightly more stable uder tio certai coditios tha ruig ColdFusio o Widows Of course,table 3.1 makes some broad geeralizatios regardig the differet OS choices, ad it s very brief i its discussio of the beefits ad drawbacks of each choice.the itet, however, is to get you to thik alog those same lies as you attempt to idetify the best choice for your customer (eve if the customer is you!). If you re a Liux guru already, you ve elimiated oe of the items I ve listed i the drawbacks colum. Similarly, if you already have Solaris machies that caot be retooled to ru Widows, you re o your way to a choice there as well.the key is to idetify all the beefits ad drawbacks of each choice, evaluate where you are ad where you eed to go, ad the make the most iformed decisio possible. The differeces i stability ad performace betwee the three versios are all pretty egligible, ad the choice usually comes dow to the hardware ad techical resources that you or the customers have i-house. Choosig a Database Just as you must decide which OS you wat to use for your ColdFusio Servers, you also must decide where your data is goig to be stored. Just as with the OS discussio, there are may cases (especially whe dealig with legacy applicatios) where the data is already i a database, thus elimiatig the eed for you to make this choice. There are still situatios, however, where the applicatio you are buildig is gatherig or creatig the data. I those cases, it becomes ecessary to decide which database you re goig to use ad how you wat to implemet it. I geeral, there are two types of database systems: desktop database tools ad server databases.table 3.3 illustrates the differeces betwee the two.

20 54 Chapter 3 Before You Begi Codig Applicatio Plaig Table 3.3 Desktop Versus Server Databases Characteristics Desktop Database Server Database Processig of chages Occurs o the cliet Occurs at the server, to the data machie, regardless of where all the hard work is where the source file is located. doe. Availability of data Origially desiged to be used Desiged with multiple by oe user at a time. simultaeous requests for data i mid. Reliability of data With multiple users accessig Data stored i a database what was origially iteded built to utilize the clietfor oe user, data itegrity server model is extremely failures ca occur. reliable eve while beig accessed ad maipulated by multiple users simultaeously. Network traffic As most processig of the Typically, the oly thigs data is doe cliet-side, the set over the etwork i etire package must the be the cliet-server model are retured to the source machie, istructios to the database causig a tremedous amout server ad result sets, of uecessary etwork traffic. resultig i much less overall etwork traffic. If you re serious about applicatio performace, ad you wat your site to be highly available uder all types of traffic load, you should esure that you re ot usig a file-based database. Desktop databases were ever really meat to be web-coected, ad it shows. Aside from beig less reliable tha their server couterparts, desktop databases are much, much slower ad less secure. Because a large part of ay ColdFusio applicatio s processig time is spet waitig for result sets to retur from the database, this ca have a huge performace impact o your applicatio as a whole. You eed to take a close look at the resources that are available to maage the data after it s there; i additio, make sure that you re ot tryig to leverage a Oracle database admiistrator (DBA) for Sybase work, or vice-versa. Believe it or ot, the subtleties betwee differet database maagemet systems are ofte more complex tha those betwee OSs.This makes it all the more critical to kow who is available to maage the data after it s i the database.

21 Resource Plaig 55 Cotrary to popular opiios, desigig table layouts i SQL or Oracle does t make you a DBA. As you re applicatio begis to become more heavily trafficked, you ievitably discover that you have to do some tweakig at the database level to keep thigs ruig smoothly. At this poit, the DBMS you ve chose ad the folks you have aroud you to help you support it become extremely importat to you so choose carefully. Assessig the Needs of Your Applicatio What a woderful world it would be if we were able to peer ito our crystal balls ad determie, well i advace, just what type of resource cofiguratio our applicatios would require to fuctio at their very best. As it is, however, we are forced to try to deliver our best estimates. Durig the discovery phase of ay sectio of a project, the first thig you usually wat to do is a eeds aalysis. Determiig a appropriate applicatio-eviromet cofiguratio is o differet. Based o the requiremets you ve already received, as well as how you believe that the applicatio should work i its fiished state, you should be able to determie roughly how you eed to cofigure your eviromet to suit your applicatio. Of course, to determie the actual hardware requiremets of the applicatio servers themselves, you ll wat to coduct systematic load testig of the fiished code.this is a absolutely ecessary step ad oe that is covered i great detail i Chapter 26, Performace Optimizatio ad Scalability Plaig. For ow, we deal with plaig the eviromet as a whole to suit your applicatio. First ad foremost, you eed to determie the overall architecture that you pla to implemet. Depedig o the eeds of your applicatio, this is where you should begi to ivestigate DMZs, firewalls, Network Address Traslatio (NAT) ad Secure Socket Layer (SSL) hardware/software combiatios, ad so o. Ideally, you wat to expose as little of your ifrastructure as possible to the outside world.the most traditioal method of accomplishig this is by placig your public servers (such as the web server) o a protected subetwork that has o access to your iteral etwork. I this way, you ca keep the public portio of your etwork accessible, without itroducig udue security risks. Further, you might wat to make use of a firewall of some sort to restrict traffic betwee all computers o your etwork i accordace with the security policies that you or your etwork admiistrators have defied.the firewall ca become a itegral part of your overall desig; it acts as the traffic cop, pushig traffic meat for your public servers to your predefied subetwork ad keepig uwated itrusio from your iteral systems. Figure 3.8 demostrates this desig.

22 56 Chapter 3 Before You Begi Codig Applicatio Plaig Iteret Public Web Traffic Firewall 1 Workstatios/ Iteral Network Web Server Iteral Web Traffic Firewall 2 (oly SQL protocol permitted) Data for Web Cotet SQL Server Figure 3.8 Example architecture. After you ve determied the overall desig of the eviromet i which your applicatio will live, you should address (as much as is withi your power as the developer) the security of the public servers themselves. Depedig o the combiatio of OSs ad web server software you have chose, the actual methods for securig these servers differ. Still, the key thigs that you wat to check are as follows: Access to public cotet o the servers is read-oly for web users. The user desigated as a pathway user for web cliets (such as the IUSR_LocalMachie accout i Widows) has oly the bare miimum permissios required to gai access to material you wat to make public. Cofigure your servers to limit vulerability from deial-of-service attacks by usig appropriate moitorig ad filterig software, alog with cofigurig appropriate timeouts. Restrict the web server itself to oly server files desigated withi your defied web cotet tree. Disable the capability to obtai directory listigs. I this way, you ca help esure that oly the cotet you explicitly desigate as public material is see.

23 Resource Plaig 57 Of course, this is by o meas a complete list, but it should help you begi to look i the right directio i thikig about securig your servers. If security is a major cocer for you ad your orgaizatio, there are may cosultacies ow offerig full security audits of your architecture. Aother part of your iitial security strategy should be checkig vedor sites to make sure that you ve istalled ad cofigured all ecessary security patches. Most vedors maitai sites explicitly desiged to keep their customers updated with recet security releases. After you ve decided which software products you re goig to use, it s a good idea to visit the vedor sites for these products ad sig up for the various security alert mailig lists that are offered.these mailigs typically update you as ew security issues are discovered, ad they tell you the actios that you eed to take to protect your cofiguratio. Depedig o the type of applicatio that you are desigig, there might be other pieces of your cofiguratio that you eed to sap i; but i almost every case, you have to start by defiig a cofiguratio ad security model. After you ve doe the work up frot, you ca move o to the actual desig ad implemetatio of your applicatio with a good uderstadig of the policies ad limitatios behid the scees. Plaig Ahead for Scalability Whe you re desigig your architecture, leave yourself a path to upgrade should your applicatio suddely get bombarded by traffic that is much higher tha you expected.whe you are iitially desigig the architecture, you are forced to make a best-guess estimate of the amout of traffic your site will actually receive. Although this is fie as a startig poit, you might fid that as you gai a larger user base, you eed to reevaluate how your eviromet is desiged ad expad your architecture to better suit the eeds of your growig user base. Oe of the easiest ways to do this is through clusterig ad load balacig. Clusterig ad load balacig eable you to have multiple servers i your eviromet that serve exactly the same purpose as their twis, thus splittig the work betwee two or more parters. I a typical architecture, there are three places that you ca cluster: at the web server, at the applicatio server, ad at the database server. Uless you ve implemeted a three-tiered architecture with your applicatio server physically separated from your web server, you likely will be performig clusterig at the web/applicatio server or at the database server.

24 58 Chapter 3 Before You Begi Codig Applicatio Plaig To cluster, you eed to idetify where your traffic bottleecks exist. By performig aalysis o your traffic patters ad moitorig the resource usage o your applicatio ad database machies, you should be able to determie where you get the most bag for your buck. Obviously, if your aalysis shows you that your ColdFusio Servers are spedig the vast majority of their time i a idle state ad your database server is early ever idle, you should cosider clusterig your database to spread the load. Coversely, if the database is idle early 100 percet of the time ad your ColdFusio Server s resources are straied, you should cluster at the ColdFusio layer. Depedig o the database that you ve chose, you should be able to fid a wealth of iformatio o your clusterig optios at the vedor site. If you ve determied that you eed to cluster at the applicatio-server layer, the first step i aalyzig your traffic patter is to defie how may servers are ecessary to service all your cocurret requests durig peak load times. Clusterig ColdFusio Servers i this sese refer to havig a group of web/applicatio servers work together to service the etire site.whe clusterig i this way, each member of the cluster typically hosts a complete copy of the etire site so that ay icomig request ca be aswered by ay ode o the cluster. Alteratively, you might choose to cetralize all web cotet i a sigle locatio, givig all cluster members access to this cotet.the cotet is made available o a separate physical machie o the etwork, typically referred to as a cotet or file server.the mai problem with this type of cofiguratio is that although your applicatio servers are still clustered, the cotet server represets a sigle poit of failure i that if it becomes uavailable, oe of the clustered applicatio/web servers ca service ay icomig requests. Oe way to solve this problem is by parterig the cotet server ad the database server, ad the makig each oe the other s failover. I other words, although the database server s primary fuctio i this setup is to hadle icomig database requests, it would also cotai copies of the cotet so that if the cotet server were to fail, the cluster odes could look to the database server for the cotet. Subsequetly, should the database server go offlie, the cotet server will have a complete copy of the database that ca come olie to aswer database requests i the evet of a failure.this type of setup elimiates the eed for redudat hardware, but cotiues to esure high availability of all compoets i the cluster. Figure 3.9 demostrates this model.

25 Resource Plaig 59 ColdFusio/ Web Server Cluster Cold Fusio Cold Fusio MS Cluster Server or Su Cluster File Server (CF/Web Cluster mapped site root drive) Cold Fusio Olie App Database Cold Fusio Figure 3.9 High-availability model. Load balacig is the ext major key i scalability plaig. After you ve decided to cluster your applicatio servers, you eed to come up with a pla for the distributio of icomig traffic betwee each member of the cluster. There are may ways that you ca do this, but by far the most popular choice today is through the itroductio of a hardware layer.this hardware layer, typically called a load balacer, sits o the etwork i frot of all your web-applicatio servers.whe ay requests come i for your site, the load balacer aswers these requests by decidig to which server o the cluster it wats to direct this traffic.the way i which it makes that decisio ca be cotrolled by the way i which you cofigure the load balacer itself. Typically, if your site is located at resolves to the Iteret Protocol (IP) address of your load balacer. After traffic hits the load balacer, the load balacer ca decide to which member of the server cluster it should traslate that request.this ca also give you a additioal layer of security because, i this model, the load balacer itself really is the oly piece of hardware that eeds to have a public Iteret address. After traffic has bee set there, it ca usually traslate the request to a private etwork address of a machie o the cluster for respose. After you ve decided that you are goig to eed to cluster ad implemet some sort of load-balacig strategy, the ext step is defiig how may cluster members you actually eed to hadle the amout of traffic you are experiecig durig peak times. There are may differet strategies ad methodologies available for determiig this umber.we will preset oe that we ve used successfully i the past.

26 60 Chapter 3 Before You Begi Codig Applicatio Plaig First, it helps to have a geeral uderstadig of how cluster size is determied. Geerally, there are a few stadard factors that you eed to cosider: Expected peak requests per hour Expected peak simultaeous requests Maximum average respose times that you feel are acceptable for your user base Specific characteristics of your applicatio (database versus cotetitesive, state maagemet eedig to maitaied or ot, ad so o) Evirometal characteristics (locatios of firewalls, private etworks, routers, ad so o) After all items have bee cosidered, testig is required to determie the exact umber of cluster members ecessary to meet the expectatios that you have defied. As with ay other methodology, there are may testig methods available. The oe we ve used successfully i the past is outlied here: 1. Determie what you thik is the maximum umber of requests per hour experieced by the site.you ca use past data obtaied from web access logs or other moitorig utilities to give you some idea of the umber with which you might wat to start. I additio, you eed to defie what you have decided is the maximum tolerable respose time for your site. This is a importat factor because it is used to determie exactly how may cluster members you eed to achieve this respose time. I additio, whe you re determiig your maximum tolerable respose time, be sure to keep i mid that you re defiig this as the maximum allowable respose time durig peak periods of load. Although it might be desirable for you to say, I do t wat ay page to take more tha three secods to retur to the user, this would be a very urealistic respose time to expect uder peak periods of load.the lower your maximum allowable respose time, the more cluster members you likely eed to keep that time dow. 2. Set up a cotrolled test (usig a eterprise-load testig tool) that stresses the site with the amout of load that you ve defied i Step 1. Cotrolled load testig is a sciece all its ow, ad if you ve ever bee exposed to it before, you might wat to refer to Chapter 26, for more iformatio o how to go about load testig a site i this maer.

One advantage that SONAR has over any other music-sequencing product I ve worked

One advantage that SONAR has over any other music-sequencing product I ve worked *gajedra* D:/Thomso_Learig_Projects/Garrigus_163132/z_productio/z_3B2_3D_files/Garrigus_163132_ch17.3d, 14/11/08/16:26:39, 16:26, page: 647 17 CAL 101 Oe advatage that SONAR has over ay other music-sequecig

More information

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design College of Computer ad Iformatio Scieces Departmet of Computer Sciece CSC 220: Computer Orgaizatio Uit 11 Basic Computer Orgaizatio ad Desig 1 For the rest of the semester, we ll focus o computer architecture:

More information

n Learn how resiliency strategies reduce risk n Discover automation strategies to reduce risk

n Learn how resiliency strategies reduce risk n Discover automation strategies to reduce risk Chapter Objectives Lear how resiliecy strategies reduce risk Discover automatio strategies to reduce risk Chapter #16: Architecture ad Desig Resiliecy ad Automatio Strategies 2 Automatio/Scriptig Resiliet

More information

Avid Interplay Bundle

Avid Interplay Bundle Avid Iterplay Budle Versio 2.5 Cofigurator ReadMe Overview This documet provides a overview of Iterplay Budle v2.5 ad describes how to ru the Iterplay Budle cofiguratio tool. Iterplay Budle v2.5 refers

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Pytho Programmig: A Itroductio to Computer Sciece Chapter 1 Computers ad Programs 1 Objectives To uderstad the respective roles of hardware ad software i a computig system. To lear what computer scietists

More information

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 1 Itroductio to Computers ad C++ Programmig Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 1.1 Computer Systems 1.2 Programmig ad Problem Solvig 1.3 Itroductio to C++ 1.4 Testig

More information

GE FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III

GE FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III GE2112 - FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III PROBLEM SOLVING AND OFFICE APPLICATION SOFTWARE Plaig the Computer Program Purpose Algorithm Flow Charts Pseudocode -Applicatio Software Packages-

More information

Basic allocator mechanisms The course that gives CMU its Zip! Memory Management II: Dynamic Storage Allocation Mar 6, 2000.

Basic allocator mechanisms The course that gives CMU its Zip! Memory Management II: Dynamic Storage Allocation Mar 6, 2000. 5-23 The course that gives CM its Zip Memory Maagemet II: Dyamic Storage Allocatio Mar 6, 2000 Topics Segregated lists Buddy system Garbage collectio Mark ad Sweep Copyig eferece coutig Basic allocator

More information

Data Warehousing. Paper

Data Warehousing. Paper Data Warehousig Paper 28-25 Implemetig a fiacial balace scorecard o top of SAP R/3, usig CFO Visio as iterface. Ida Carapelle & Sophie De Baets, SOLID Parters, Brussels, Belgium (EUROPE) ABSTRACT Fiacial

More information

n Explore virtualization concepts n Become familiar with cloud concepts

n Explore virtualization concepts n Become familiar with cloud concepts Chapter Objectives Explore virtualizatio cocepts Become familiar with cloud cocepts Chapter #15: Architecture ad Desig 2 Hypervisor Virtualizatio ad cloud services are becomig commo eterprise tools to

More information

Web OS Switch Software

Web OS Switch Software Web OS Switch Software BBI Quick Guide Nortel Networks Part Number: 213164, Revisio A, July 2000 50 Great Oaks Boulevard Sa Jose, Califoria 95119 408-360-5500 Mai 408-360-5501 Fax www.orteletworks.com

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Pytho Programmig: A Itroductio to Computer Sciece Chapter 6 Defiig Fuctios Pytho Programmig, 2/e 1 Objectives To uderstad why programmers divide programs up ito sets of cooperatig fuctios. To be able to

More information

Architectural styles for software systems The client-server style

Architectural styles for software systems The client-server style Architectural styles for software systems The cliet-server style Prof. Paolo Ciacarii Software Architecture CdL M Iformatica Uiversità di Bologa Ageda Cliet server style CS two tiers CS three tiers CS

More information

1 Enterprise Modeler

1 Enterprise Modeler 1 Eterprise Modeler Itroductio I BaaERP, a Busiess Cotrol Model ad a Eterprise Structure Model for multi-site cofiguratios are itroduced. Eterprise Structure Model Busiess Cotrol Models Busiess Fuctio

More information

Guide to Applying Online

Guide to Applying Online Guide to Applyig Olie Itroductio Respodig to requests for additioal iformatio Reportig: submittig your moitorig or ed of grat Pledges: submittig your Itroductio This guide is to help charities submit their

More information

CMSC Computer Architecture Lecture 12: Virtual Memory. Prof. Yanjing Li University of Chicago

CMSC Computer Architecture Lecture 12: Virtual Memory. Prof. Yanjing Li University of Chicago CMSC 22200 Computer Architecture Lecture 12: Virtual Memory Prof. Yajig Li Uiversity of Chicago A System with Physical Memory Oly Examples: most Cray machies early PCs Memory early all embedded systems

More information

Data Protection: Your Choice Is Simple PARTNER LOGO

Data Protection: Your Choice Is Simple PARTNER LOGO Data Protectio: Your Choice Is Simple PARTNER LOGO Is Your Data Truly Protected? The growth, value ad mobility of data are placig icreasig pressure o orgaizatios. IT must esure assets are properly protected

More information

Appendix D. Controller Implementation

Appendix D. Controller Implementation COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Appedix D Cotroller Implemetatio Cotroller Implemetatios Combiatioal logic (sigle-cycle); Fiite state machie (multi-cycle, pipelied);

More information

Basic Design Principles

Basic Design Principles + Basic Desig Priciples + Assigmet 2: Your studet web site 1. Baer 2. Your ame 3. Your accout umber 4. A lik to aother web page, preferably oe useful to you i this class 5. A photo, preferably of you 6.

More information

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5 Morga Kaufma Publishers 26 February, 28 COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Chapter 5 Set-Associative Cache Architecture Performace Summary Whe CPU performace icreases:

More information

Baan Tools User Management

Baan Tools User Management Baa Tools User Maagemet Module Procedure UP008A US Documetiformatio Documet Documet code : UP008A US Documet group : User Documetatio Documet title : User Maagemet Applicatio/Package : Baa Tools Editio

More information

Service Oriented Enterprise Architecture and Service Oriented Enterprise

Service Oriented Enterprise Architecture and Service Oriented Enterprise Approved for Public Release Distributio Ulimited Case Number: 09-2786 The 23 rd Ope Group Eterprise Practitioers Coferece Service Orieted Eterprise ad Service Orieted Eterprise Ya Zhao, PhD Pricipal, MITRE

More information

n Some thoughts on software development n The idea of a calculator n Using a grammar n Expression evaluation n Program organization n Analysis

n Some thoughts on software development n The idea of a calculator n Using a grammar n Expression evaluation n Program organization n Analysis Overview Chapter 6 Writig a Program Bjare Stroustrup Some thoughts o software developmet The idea of a calculator Usig a grammar Expressio evaluatio Program orgaizatio www.stroustrup.com/programmig 3 Buildig

More information

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming Lecture Notes 6 Itroductio to algorithm aalysis CSS 501 Data Structures ad Object-Orieted Programmig Readig for this lecture: Carrao, Chapter 10 To be covered i this lecture: Itroductio to algorithm aalysis

More information

BEA WebLogic Commerce Server. Registration and User Processing Package

BEA WebLogic Commerce Server. Registration and User Processing Package BEA WebLogic Commerce Server Registratio ad User Processig Package BEA WebLogic Commerce Server 3.2 Documet Editio 3.2 December 2000 Copyright Copyright 2000 BEA Systems, Ic. All Rights Reserved. Restricted

More information

Customer Portal Quick Reference User Guide

Customer Portal Quick Reference User Guide Customer Portal Quick Referece User Guide Overview This user guide is iteded for FM Approvals customers usig the Approval Iformatio Maagemet (AIM) customer portal to track their active projects. AIM is

More information

Workflow model GM AR. Gumpy. Dynagump. At a very high level, this is what gump does. We ll be looking at each of the items described here seperately.

Workflow model GM AR. Gumpy. Dynagump. At a very high level, this is what gump does. We ll be looking at each of the items described here seperately. Workflow model GM AR Gumpy RM Dyagump At a very high level, this is what gump does. We ll be lookig at each of the items described here seperately. User edits project descriptor ad commits s maitai their

More information

. Written in factored form it is easy to see that the roots are 2, 2, i,

. Written in factored form it is easy to see that the roots are 2, 2, i, CMPS A Itroductio to Programmig Programmig Assigmet 4 I this assigmet you will write a java program that determies the real roots of a polyomial that lie withi a specified rage. Recall that the roots (or

More information

Session Initiated Protocol (SIP) and Message-based Load Balancing (MBLB)

Session Initiated Protocol (SIP) and Message-based Load Balancing (MBLB) F5 White Paper Sessio Iitiated Protocol (SIP) ad Message-based Load Balacig (MBLB) The ability to provide ew ad creative methods of commuicatios has esured a SIP presece i almost every orgaizatio. The

More information

Global Support Guide. Verizon WIreless. For the BlackBerry 8830 World Edition Smartphone and the Motorola Z6c

Global Support Guide. Verizon WIreless. For the BlackBerry 8830 World Edition Smartphone and the Motorola Z6c Verizo WIreless Global Support Guide For the BlackBerry 8830 World Editio Smartphoe ad the Motorola Z6c For complete iformatio o global services, please refer to verizowireless.com/vzglobal. Whether i

More information

In this chapter, you learn the concepts and terminology of databases and

In this chapter, you learn the concepts and terminology of databases and A Itroductio to Database Developmet I this chapter, you lear the cocepts ad termiology of databases ad how to desig the tables that your forms ad reports will use. Fially, you build the actual tables used

More information

In today s information technology culture, the term server is thrown around

In today s information technology culture, the term server is thrown around Itroducig Widows Home Server I today s iformatio techology culture, the term server is throw aroud quite a bit. Web servers, prit servers, proxy servers, file servers all of these refer to various computer

More information

Term Project Report. This component works to detect gesture from the patient as a sign of emergency message and send it to the emergency manager.

Term Project Report. This component works to detect gesture from the patient as a sign of emergency message and send it to the emergency manager. CS2310 Fial Project Loghao Li Term Project Report Itroductio I this project, I worked o expadig exercise 4. What I focused o is makig the real gesture recogizig sesor ad desig proper gestures ad recogizig

More information

Elementary Educational Computer

Elementary Educational Computer Chapter 5 Elemetary Educatioal Computer. Geeral structure of the Elemetary Educatioal Computer (EEC) The EEC coforms to the 5 uits structure defied by vo Neuma's model (.) All uits are preseted i a simplified

More information

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5.

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5. Morga Kaufma Publishers 26 February, 208 COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Chapter 5 Virtual Memory Review: The Memory Hierarchy Take advatage of the priciple

More information

Weston Anniversary Fund

Weston Anniversary Fund Westo Olie Applicatio Guide 2018 1 This guide is desiged to help charities applyig to the Westo to use our olie applicatio form. The Westo is ope to applicatios from 5th Jauary 2018 ad closes o 30th Jue

More information

Chapter 5. Functions for All Subtasks. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 5. Functions for All Subtasks. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 5 Fuctios for All Subtasks Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 5.1 void Fuctios 5.2 Call-By-Referece Parameters 5.3 Usig Procedural Abstractio 5.4 Testig ad Debuggig

More information

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation 6-0-0 Kowledge Trasformatio from Task Scearios to View-based Desig Diagrams Nima Dezhkam Kamra Sartipi {dezhka, sartipi}@mcmaster.ca Departmet of Computig ad Software McMaster Uiversity CANADA SEKE 08

More information

Graphic Standards for District Identification. September, 2012

Graphic Standards for District Identification. September, 2012 Graphic Stadards for District Idetificatio September, 2012 CASE Graphic Stadards for District Idetificatio DRAFT 12.8.14 Coucil for Advacemet ad Support of Educatio, 2012. 1 . This documet is a draft of

More information

Transitioning to BGP

Transitioning to BGP Trasitioig to BGP ISP Workshops These materials are licesed uder the Creative Commos Attributio-NoCommercial 4.0 Iteratioal licese (http://creativecommos.org/liceses/by-c/4.0/) Last updated 24 th April

More information

BAAN IVc/BaanERP. Conversion Guide Oracle7 to Oracle8

BAAN IVc/BaanERP. Conversion Guide Oracle7 to Oracle8 BAAN IVc/BaaERP A publicatio of: Baa Developmet B.V. P.O.Box 143 3770 AC Bareveld The Netherlads Prited i the Netherlads Baa Developmet B.V. 1999. All rights reserved. The iformatio i this documet is subject

More information

Lecture 28: Data Link Layer

Lecture 28: Data Link Layer Automatic Repeat Request (ARQ) 2. Go ack N ARQ Although the Stop ad Wait ARQ is very simple, you ca easily show that it has very the low efficiecy. The low efficiecy comes from the fact that the trasmittig

More information

SCI Reflective Memory

SCI Reflective Memory Embedded SCI Solutios SCI Reflective Memory (Experimetal) Atle Vesterkjær Dolphi Itercoect Solutios AS Olaf Helsets vei 6, N-0621 Oslo, Norway Phoe: (47) 23 16 71 42 Fax: (47) 23 16 71 80 Mail: atleve@dolphiics.o

More information

System and Software Architecture Description (SSAD)

System and Software Architecture Description (SSAD) System ad Software Architecture Descriptio (SSAD) Diabetes Health Platform Team #6 Jasmie Berry (Cliet) Veerav Naidu (Project Maager) Mukai Nog (Architect) Steve South (IV&V) Vijaya Prabhakara (Quality

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 18 Strategies for Query Processig Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio DBMS techiques to process a query Scaer idetifies

More information

Human-Computer Interaction IS4300

Human-Computer Interaction IS4300 Huma-Computer Iteractio IS4300 1 I5 due ext class Your missio i this exercise is to implemet a very simple Java paitig applicatio. The app must support the followig fuctios: Draw curves, specified by a

More information

MANAGED! PREPARE TO BE FEATURES HANDHELD USER DISPLAYS. Specifications MEASUREMENT STABILIZATION INDICATOR

MANAGED! PREPARE TO BE FEATURES HANDHELD USER DISPLAYS. Specifications MEASUREMENT STABILIZATION INDICATOR FEATURES Trasfers data easily betwee Hadheld & PC via USB cable. Stores up to 3000 temperatures ad 300 meu items. Sets Max / Mi temperature limit idicators. Stores custom meus for easy recall. Exports

More information

Chapter 11. Friends, Overloaded Operators, and Arrays in Classes. Copyright 2014 Pearson Addison-Wesley. All rights reserved.

Chapter 11. Friends, Overloaded Operators, and Arrays in Classes. Copyright 2014 Pearson Addison-Wesley. All rights reserved. Chapter 11 Frieds, Overloaded Operators, ad Arrays i Classes Copyright 2014 Pearso Addiso-Wesley. All rights reserved. Overview 11.1 Fried Fuctios 11.2 Overloadig Operators 11.3 Arrays ad Classes 11.4

More information

Adapter for Mainframe

Adapter for Mainframe BEA WebLogic Java Adapter for Maiframe Workflow Processig Guide Release 5.0 Documet Date: Jauary 2002 Copyright Copyright 2002 BEA Systems, Ic. All Rights Reserved. Restricted Rights Leged This software

More information

MOTIF XF Extension Owner s Manual

MOTIF XF Extension Owner s Manual MOTIF XF Extesio Ower s Maual Table of Cotets About MOTIF XF Extesio...2 What Extesio ca do...2 Auto settig of Audio Driver... 2 Auto settigs of Remote Device... 2 Project templates with Iput/ Output Bus

More information

SCAN INSPECT TRACK SOLVE

SCAN INSPECT TRACK SOLVE SCAN INSPECT TRACK SOLVE Sca. Ispect. Track. Solve. These simple words drive the complex solutios we provide for the challeges our customers face. Need to sca a code? Not a issue. Ispect a vial? No problem.

More information

CIS 121 Data Structures and Algorithms with Java Spring Stacks, Queues, and Heaps Monday, February 18 / Tuesday, February 19

CIS 121 Data Structures and Algorithms with Java Spring Stacks, Queues, and Heaps Monday, February 18 / Tuesday, February 19 CIS Data Structures ad Algorithms with Java Sprig 09 Stacks, Queues, ad Heaps Moday, February 8 / Tuesday, February 9 Stacks ad Queues Recall the stack ad queue ADTs (abstract data types from lecture.

More information

Structuring Redundancy for Fault Tolerance. CSE 598D: Fault Tolerant Software

Structuring Redundancy for Fault Tolerance. CSE 598D: Fault Tolerant Software Structurig Redudacy for Fault Tolerace CSE 598D: Fault Tolerat Software What do we wat to achieve? Versios Damage Assessmet Versio 1 Error Detectio Iputs Versio 2 Voter Outputs State Restoratio Cotiued

More information

Outline. CSCI 4730 Operating Systems. Questions. What is an Operating System? Computer System Layers. Computer System Layers

Outline. CSCI 4730 Operating Systems. Questions. What is an Operating System? Computer System Layers. Computer System Layers Outlie CSCI 4730 s! What is a s?!! System Compoet Architecture s Overview Questios What is a?! What are the major operatig system compoets?! What are basic computer system orgaizatios?! How do you commuicate

More information

1&1 Next Level Hosting

1&1 Next Level Hosting 1&1 Next Level Hostig Performace Level: Performace that grows with your requiremets Copyright 1&1 Iteret SE 2017 1ad1.com 2 1&1 NEXT LEVEL HOSTING 3 Fast page loadig ad short respose times play importat

More information

IMP: Superposer Integrated Morphometrics Package Superposition Tool

IMP: Superposer Integrated Morphometrics Package Superposition Tool IMP: Superposer Itegrated Morphometrics Package Superpositio Tool Programmig by: David Lieber ( 03) Caisius College 200 Mai St. Buffalo, NY 4208 Cocept by: H. David Sheets, Dept. of Physics, Caisius College

More information

Chapter 4 The Datapath

Chapter 4 The Datapath The Ageda Chapter 4 The Datapath Based o slides McGraw-Hill Additioal material 24/25/26 Lewis/Marti Additioal material 28 Roth Additioal material 2 Taylor Additioal material 2 Farmer Tae the elemets that

More information

Creating Test Harnesses and Starter Applications

Creating Test Harnesses and Starter Applications 03 6000 ch02 11/18/03 8:54 AM Page 27 Creatig Test Haresses ad Starter Applicatios Applicatio Types You Ca Create with Visual C++ Visual C++.NET comes with a package of wizards that geerate startig code

More information

27 Refraction, Dispersion, Internal Reflection

27 Refraction, Dispersion, Internal Reflection Chapter 7 Refractio, Dispersio, Iteral Reflectio 7 Refractio, Dispersio, Iteral Reflectio Whe we talked about thi film iterferece, we said that whe light ecouters a smooth iterface betwee two trasparet

More information

Operating System Concepts. Operating System Concepts

Operating System Concepts. Operating System Concepts Chapter 4: Mass-Storage Systems Logical Disk Structure Logical Disk Structure Disk Schedulig Disk Maagemet RAID Structure Disk drives are addressed as large -dimesioal arrays of logical blocks, where the

More information

Goals of the Lecture UML Implementation Diagrams

Goals of the Lecture UML Implementation Diagrams Goals of the Lecture UML Implemetatio Diagrams Object-Orieted Aalysis ad Desig - Fall 1998 Preset UML Diagrams useful for implemetatio Provide examples Next Lecture Ð A variety of topics o mappig from

More information

The Magma Database file formats

The Magma Database file formats The Magma Database file formats Adrew Gaylard, Bret Pikey, ad Mart-Mari Breedt Johaesburg, South Africa 15th May 2006 1 Summary Magma is a ope-source object database created by Chris Muller, of Kasas City,

More information

Software development of components for complex signal analysis on the example of adaptive recursive estimation methods.

Software development of components for complex signal analysis on the example of adaptive recursive estimation methods. Software developmet of compoets for complex sigal aalysis o the example of adaptive recursive estimatio methods. SIMON BOYMANN, RALPH MASCHOTTA, SILKE LEHMANN, DUNJA STEUER Istitute of Biomedical Egieerig

More information

Computers and Scientific Thinking

Computers and Scientific Thinking Computers ad Scietific Thikig David Reed, Creighto Uiversity Chapter 15 JavaScript Strigs 1 Strigs as Objects so far, your iteractive Web pages have maipulated strigs i simple ways use text box to iput

More information

Big Data Capacity Planning: Achieving Right Sized Hadoop Clusters and Optimized Operations

Big Data Capacity Planning: Achieving Right Sized Hadoop Clusters and Optimized Operations Big Data Capacity Plaig: Achievig Right Sized Hadoop Clusters ad Optimized Operatios Abstract Busiesses are cosiderig more opportuities to leverage data for differet purposes, impactig resources ad resultig

More information

CS 111 Green: Program Design I Lecture 27: Speed (cont.); parting thoughts

CS 111 Green: Program Design I Lecture 27: Speed (cont.); parting thoughts CS 111 Gree: Program Desig I Lecture 27: Speed (cot.); partig thoughts By Nascarkig - Ow work, CC BY-SA 4.0, https://commos.wikimedia.org/w/idex.php?curid=38671041 Robert H. Sloa (CS) & Rachel Poretsky

More information

BAAN IV. BAAN IV Installation Manual for DB2 on Windows NT

BAAN IV. BAAN IV Installation Manual for DB2 on Windows NT BAAN IV BAAN IV Istallatio Maual for DB2 o Widows NT A publicatio of: Baa Developmet B.V. P.O.Box 143 3770 AC Bareveld The Netherlads Prited i the Netherlads Baa Developmet B.V. 1999. All rights reserved.

More information

CIS 121 Data Structures and Algorithms with Java Spring Stacks and Queues Monday, February 12 / Tuesday, February 13

CIS 121 Data Structures and Algorithms with Java Spring Stacks and Queues Monday, February 12 / Tuesday, February 13 CIS Data Structures ad Algorithms with Java Sprig 08 Stacks ad Queues Moday, February / Tuesday, February Learig Goals Durig this lab, you will: Review stacks ad queues. Lear amortized ruig time aalysis

More information

Continuity Logic Frontline Live

Continuity Logic Frontline Live September 2015 Cotiuity Logic Frotlie Live Iovatig User Experiece for Busiess Cotiuity SOLUTIONPERSPECTIVE Goverace, Risk Maagemet & Compliace Isight Cotiuity Logic Frotlie Live Iovatio i User Experiece

More information

The VSS CCD photometry spreadsheet

The VSS CCD photometry spreadsheet The VSS CCD photometry spreadsheet Itroductio This Excel spreadsheet has bee developed ad tested by the BAA VSS for aalysig results files produced by the multi-image CCD photometry procedure i AIP4Wi v2.

More information

Code Review Defects. Authors: Mika V. Mäntylä and Casper Lassenius Original version: 4 Sep, 2007 Made available online: 24 April, 2013

Code Review Defects. Authors: Mika V. Mäntylä and Casper Lassenius Original version: 4 Sep, 2007 Made available online: 24 April, 2013 Code Review s Authors: Mika V. Mätylä ad Casper Lasseius Origial versio: 4 Sep, 2007 Made available olie: 24 April, 2013 This documet cotais further details of the code review defects preseted i [1]. of

More information

Custodial Integrator Automation Guide

Custodial Integrator Automation Guide Custodial Itegrator Automatio Guide Compay Cofidetial Custodial Itegrator Product Versio: V3.8 Documet Versio: 14 Documet Issue Date: April 21, 2017 Techical Support: (866) 856-4951 Telephoe: (781) 376-0801

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 19 Query Optimizatio Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio Query optimizatio Coducted by a query optimizer i a DBMS Goal:

More information

Evaluation scheme for Tracking in AMI

Evaluation scheme for Tracking in AMI A M I C o m m u i c a t i o A U G M E N T E D M U L T I - P A R T Y I N T E R A C T I O N http://www.amiproject.org/ Evaluatio scheme for Trackig i AMI S. Schreiber a D. Gatica-Perez b AMI WP4 Trackig:

More information

Definitions. Error. A wrong decision made during software development

Definitions. Error. A wrong decision made during software development Debuggig Defiitios Error A wrog decisio made durig software developmet Defiitios 2 Error A wrog decisio made durig software developmet Defect bug sometimes meas this The term Fault is also used Property

More information

Panel for Adobe Premiere Pro CC Partner Solution

Panel for Adobe Premiere Pro CC Partner Solution Pael for Adobe Premiere Pro CC Itegratio for more efficiecy The makes video editig simple, fast ad coveiet. The itegrated pael gives users immediate access to all medialoopster features iside Adobe Premiere

More information

HAFOD MAKING A COMPLAINT [NEW]_Layout 1 21/03/ :06 Page 1 MAKING A COMPLAINT

HAFOD MAKING A COMPLAINT [NEW]_Layout 1 21/03/ :06 Page 1 MAKING A COMPLAINT HAFOD MAKING A COMPLAINT [NEW]_Layout 1 21/03/2013 17:06 Page 1 MAKING A COMPLAINT FEBRUARY 2010 HAFOD MAKING A COMPLAINT [NEW]_Layout 1 21/03/2013 17:06 Page 2 ABOUT THIS BOOKLET This booklet outlies

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 22 Database Recovery Techiques Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio Recovery algorithms Recovery cocepts Write-ahead

More information

Firewall and IDS. TELE3119: Week8

Firewall and IDS. TELE3119: Week8 Firewall ad IDS TELE3119: Week8 Outlie Firewalls Itrusio Detectio Systems (IDSs) Itrusio Prevetio Systems (IPSs) 8-2 Example Attacks Disclosure, modificatio, ad destructio of data Compromise a host ad

More information

BEA WebLogic Process Integrator

BEA WebLogic Process Integrator BEA WebLogic Process Itegrator A Compoet of BEA WebLogic Itegratio BEA WebLogic Process Itegrator Studio Olie Help BEA WebLogic Process Itegrator Release 2.0 Documet Editio 2.0 July 2001 Copyright Copyright

More information

Windows Server 2008 R2 networking

Windows Server 2008 R2 networking Chapter3 Widows Server 2008 R2 etworkig Orgaizatios large ad small deped o computer etworks to operate their busiesses. Employees require aywhere access to data, while cliets ad busiess parters demad ehaced

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 26 Ehaced Data Models: Itroductio to Active, Temporal, Spatial, Multimedia, ad Deductive Databases Copyright 2016 Ramez Elmasri ad Shamkat B.

More information

CA Top Secret r14 for z/os

CA Top Secret r14 for z/os PRODUCT SHEET: CA TOP SECRET FOR z/os CA Top Secret r14 for z/os CA Top Secret for z/os (CA Top Secret) provides iovative ad comprehesive security for your busiess trasactio eviromets icludig z/os, Maiframe

More information

BEA Tuxedo. Using the BEA Tuxedo System on Windows NT

BEA Tuxedo. Using the BEA Tuxedo System on Windows NT BEA Tuxedo Usig the BEA Tuxedo System o Widows NT BEA Tuxedo Release 7.1 Documet Editio 7.1 May 2000 Copyright Copyright 2000 BEA Systems, Ic. All Rights Reserved. Restricted Rights Leged This software

More information

Chapter 2 Distributed Information Systems Architecture

Chapter 2 Distributed Information Systems Architecture Prof. Dr.-Ig. Stefa Deßloch AG Heterogee Iformatiossysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@iformatik.ui-kl.de Chapter 2 Distributed Iformatio Systems Architecture Chapter Outlie (Distributed)

More information

IN THIS CHAPTER, WE FINALLY BEGIN to get into the technology side of things, so now. XP and AMDD-Based Architecture and Design Modeling

IN THIS CHAPTER, WE FINALLY BEGIN to get into the technology side of things, so now. XP and AMDD-Based Architecture and Design Modeling 3 XP ad AMDD-Based Architecture ad Desig Modelig IN THIS CHAPTER, WE FINALLY BEGIN to get ito the techology side of thigs, so ow begis the fu part. 46 Chapter 3 XP ad AMDD-Based Architecture ad Desig Modelig

More information

Chapter 4 Threads. Operating Systems: Internals and Design Principles. Ninth Edition By William Stallings

Chapter 4 Threads. Operating Systems: Internals and Design Principles. Ninth Edition By William Stallings Operatig Systems: Iterals ad Desig Priciples Chapter 4 Threads Nith Editio By William Stalligs Processes ad Threads Resource Owership Process icludes a virtual address space to hold the process image The

More information

15-859E: Advanced Algorithms CMU, Spring 2015 Lecture #2: Randomized MST and MST Verification January 14, 2015

15-859E: Advanced Algorithms CMU, Spring 2015 Lecture #2: Randomized MST and MST Verification January 14, 2015 15-859E: Advaced Algorithms CMU, Sprig 2015 Lecture #2: Radomized MST ad MST Verificatio Jauary 14, 2015 Lecturer: Aupam Gupta Scribe: Yu Zhao 1 Prelimiaries I this lecture we are talkig about two cotets:

More information

JavaFX. JavaFX 2.2 Installation Guide Release 2.2 E August 2012 Installation instructions by operating system for JavaFX 2.

JavaFX. JavaFX 2.2 Installation Guide Release 2.2 E August 2012 Installation instructions by operating system for JavaFX 2. JavaFX JavaFX 2.2 Istallatio Guide Release 2.2 E20474-06 August 2012 Istallatio istructios by operatig system for JavaFX 2.2 JavaFX/JavaFX 2.2 Istallatio Guide E20474-06 Copyright 2008, 2012, Oracle ad/or

More information

CMSC Computer Architecture Lecture 11: More Caches. Prof. Yanjing Li University of Chicago

CMSC Computer Architecture Lecture 11: More Caches. Prof. Yanjing Li University of Chicago CMSC 22200 Computer Architecture Lecture 11: More Caches Prof. Yajig Li Uiversity of Chicago Lecture Outlie Caches 2 Review Memory hierarchy Cache basics Locality priciples Spatial ad temporal How to access

More information

Chapter 10. Defining Classes. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 10. Defining Classes. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 10 Defiig Classes Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 10.1 Structures 10.2 Classes 10.3 Abstract Data Types 10.4 Itroductio to Iheritace Copyright 2015 Pearso Educatio,

More information

APPLICATION NOTE PACE1750AE BUILT-IN FUNCTIONS

APPLICATION NOTE PACE1750AE BUILT-IN FUNCTIONS APPLICATION NOTE PACE175AE BUILT-IN UNCTIONS About This Note This applicatio brief is iteded to explai ad demostrate the use of the special fuctios that are built ito the PACE175AE processor. These powerful

More information

busiess.officedepot.com User Guide Coveiet. Effective. Smart. https://busiess.officedepot.com CUSTOMER SUPPORT Hours of operatio: Moday Friday, 8:00 A.M 8:00 P.M. (Easter Time) Live Chat: For immediate

More information

Descriptive Statistics Summary Lists

Descriptive Statistics Summary Lists Chapter 209 Descriptive Statistics Summary Lists Itroductio This procedure is used to summarize cotiuous data. Large volumes of such data may be easily summarized i statistical lists of meas, couts, stadard

More information

Chapter 4. Procedural Abstraction and Functions That Return a Value. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 4. Procedural Abstraction and Functions That Return a Value. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 4 Procedural Abstractio ad Fuctios That Retur a Value Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 4.1 Top-Dow Desig 4.2 Predefied Fuctios 4.3 Programmer-Defied Fuctios 4.4

More information

Workflow Extensions User Guide. StarTeam 12.0

Workflow Extensions User Guide. StarTeam 12.0 Workflow Extesios User Guide StarTeam 12.0 Micro Focus 575 Ato Blvd., Suite 510 Costa Mesa, CA 92626 Copyright 2011 Micro Focus IP Developmet Limited. All Rights Reserved. StarTeam cotais derivative works

More information

Chapter 9. Pointers and Dynamic Arrays. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 9. Pointers and Dynamic Arrays. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 9 Poiters ad Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 9.1 Poiters 9.2 Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Slide 9-3

More information

BE Software Upgrades to ITALYCS 5. It s in the. Software

BE Software Upgrades to ITALYCS 5. It s in the. Software BE Software Upgrades to ITALYCS 5 It s i the Software UPGRADES WE OFFER Brampto Egieerig is offerig customers with ITALYCS 2 ad ITALYCS 4 systems the opportuity to upgrade their existig systems to the

More information

Bayesian approach to reliability modelling for a probability of failure on demand parameter

Bayesian approach to reliability modelling for a probability of failure on demand parameter Bayesia approach to reliability modellig for a probability of failure o demad parameter BÖRCSÖK J., SCHAEFER S. Departmet of Computer Architecture ad System Programmig Uiversity Kassel, Wilhelmshöher Allee

More information

Oracle Server. What s New in this Release? Release Notes

Oracle  Server. What s New in this Release? Release Notes Oracle email Server Release Notes Release 5.2 for Widows NT May 2001 Part No. A90426-01 These release otes accompay Oracle email Server Release 5.2 for Widows NT. They cotai the followig topics: What s

More information