Enterprise Development with Flex

Total Page:16

File Type:pdf, Size:1020Kb

Enterprise Development with Flex Enterprise Development with Flex Enterprise Development with Flex Yakov Fain, Victor Rasputnis, and Anatole Tartakovsky Beijing • Cambridge • Farnham • Köln • Sebastopol • Taipei • Tokyo Enterprise Development with Flex by Yakov Fain, Victor Rasputnis, and Anatole Tartakovsky Copyright © 2010 Yakov Fain, Victor Rasputnis, and Anatole Tartakovsky.. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://my.safaribooksonline.com). For more information, contact our corporate/institutional sales department: (800) 998-9938 or [email protected]. Editor: Mary E. Treseler Indexer: Ellen Troutman Development Editor: Linda Laflamme Cover Designer: Karen Montgomery Production Editor: Adam Zaremba Interior Designer: David Futato Copyeditor: Nancy Kotary Illustrator: Robert Romano Proofreader: Sada Preisch Printing History: March 2010: First Edition. Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of O’Reilly Media, Inc. Enterprise Development with Flex, the image of red-crested wood-quails, and related trade dress are trademarks of O’Reilly Media, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information con- tained herein. TM This book uses RepKover™, a durable and flexible lay-flat binding. ISBN: 978-0-596-15416-5 [M] 1267723996 Table of Contents Preface .................................................................... xiii 1. Comparing Selected Flex Frameworks ...................................... 1 Frameworks Versus Component Libraries 1 Introducing Café Townsend 3 Employee List Without Frameworks 5 Cairngorm 7 Café Townsend with Cairngorm 7 To Use or Not to Use Cairngorm? 19 Report Card: Cairngorm 20 Mate 21 Report Card: Mate 27 PureMVC 29 Café Townsend with PureMVC 30 Report Card: PureMVC 42 Clear Toolkit 43 Café Townsend with Clear Toolkit 45 Report Card: Clear Toolkit 57 Final Framework Selection Considerations 59 References 61 2. Selected Design Patterns ................................................ 63 Singleton 64 Proxy 67 Mediator 74 Data Transfer Object 81 Asynchronous Token 91 Class Factory 93 A Class Factory from the Flex Framework 94 Creating UIStaticClassFactory 97 Creating UIClassFactory 103 v 3. Building an Enterprise Framework ....................................... 113 Upgrading Existing Flex Components 114 Introducing Component Library clear.swc 115 Creating a Value-Aware CheckBox 116 Creating a Centered CheckBox 118 Creating a Protected CheckBox 119 Upgrading ComboBox 121 Resources as Properties of UI Controls 127 Styles Versus Properties 130 The Base Class for Resources 131 DataGrid with Resources 134 Data Forms 138 The DataForm Component 139 The DataFormItem Component 143 Validation 151 Sample Application: DataFormValidation 153 The ValidationRule Class Explained 157 Embedding Validation Rules into a DataGrid 162 Minimizing the Number of Custom Events 169 Summary 174 4. Equipping Enterprise Flex Projects ....................................... 175 Staffing Considerations 176 GUI and Component Developers 176 Flex Architects 177 Designopers and Devigners 178 Flex Developer’s Workstation 180 IDE Choices 180 Preparing for Teamwork 181 Embedding .swf Files into HTML Pages 182 Adding a .swf to HTML with SWFObject 183 Interacting with HTML and JavaScript 185 The ExternalInterface Class 185 Flex AJAX Bridge 186 The flashVars Variable 186 Testing Flex RIA 188 Unit and Integration Testing 189 Functional Testing 191 Load Testing 194 Code Coverage 195 Application Modularization from 30,000 Feet 196 Build Scripts and Continuous Integration 197 Automation of Ant Script Creation 197 vi | Table of Contents Maven Support 198 Continuous Integration 199 Logging with Log4Fx 200 Remote Logging with Log4Fx 201 A Grab Bag of Component Libraries 203 Integrating with the Java Spring Framework 205 Integrating with the Hibernate Framework 206 Project Documentation 208 Program Documentation with ASDoc 209 UML Diagrams 211 Accessibility of Flex RIA 211 Summary 213 5. Customizing the Messaging Layer of LCDS or BlazeDS ....................... 215 Flex Messaging Unleashed 215 Server Messages: Shooting in the Dark 216 Sending the Client’s Heartbeats 217 Heartbeat Adapter 218 Testing the Client Heartbeat 220 Guaranteed Delivery of Server Messages 222 Building a Custom Acknowledging Channel 225 Resending Messages with QoSAdapter 228 Testing Guaranteed Delivery 233 When Message Order Matters 236 SerializingChannel 238 Guaranteed Delivery of Client Messages 244 The ReliableClientMessage Class 244 Acknowledging the Endpoint 246 Resending Channel Guarantees Delivery 247 Testing Guaranteed Delivery from the Client 251 Keeping Client Messages in Order 253 Testing Ordered Delivery of Client Messages 257 Summary 261 6. Open Source Networking Solutions ...................................... 263 BlazeDS Versus LCDS 264 Why Is AMF Important? 265 AMF Performance Comparison 266 AMF and Client-Side Serialization 268 HTTP Connection Management 269 The Hack to Increase a Web Browser’s Performance 270 Other Ways of Increasing a Web Browser’s Performance 271 What Is Comet? 273 Table of Contents | vii Putting Streaming to Work 274 The Networking Architecture of BlazeDS 277 Setting Up a BlazeDS Sample Application on Jetty 278 Setting BlazeDS Messaging to Use the Jetty NIO API 279 NIO Performance Test 279 The Theory 279 Data Access Automation 283 Data Transfer Objects 284 ChangeObject 288 Assembler and DAO Classes 290 DataCollection Class 295 Deep Data Synchronization with BlazeDS 302 Nested DataCollections 302 Batching Remote Calls 306 Using AMF Message Headers 307 Data Push in Data Access 311 A Server as a Command Center 313 Reverse RPC 314 Extending the Protocol 318 Custom Serialization and AMF 320 Security Appliances 323 Third-Party Networking Solutions 324 Summary 325 7. Modules, Libraries, Applications, and Portals .............................. 327 Flex Portals and Modularization 327 Basic Modularization: Image 327 Runtime Style Modules 329 Real Actors: Loader and URLLoader 333 Loading Modules with Module Loader 333 Preloading Modules with ModuleManager 334 Communicating with Modules 339 Introducing Application Domains 344 Paying Tribute to Libraries 349 RSLs: “Under”-Libraries 352 Bootstrapping Libraries as Applications 357 Sibling Domains and Multiversioning 361 Four Scenarios of Loading Portlets 362 Default Portlet Loading: Same Sandbox Child Domain 366 Loading Portlets for Multiversioning 372 Bootstrap Class Loading 375 Sample Flex Portal 379 Integrating Flex into Legacy JEE Portals 381 viii | Table of Contents Summary 384 8. Performance Improvement: Selected Topics ............................... 385 Planning for Modularization 386 It Takes Two to Perform 387 Application Startup and Preloaders 389 Dissecting LightweightPreloader.swf 390 The Main SWF Talks to LightweightPreloader.swf 398 Supporting Logout Functionality 404 Using Resource Shared Libraries 407 How to Link Flex Libraries 408 Flex Framework RSL 411 Optimizing RSL Loading 417 Creating Modules with Test Harness 417 Creating a Shell Application with a Custom RSL Loader 422 A Grab Bag of Useful Habits 433 Dealing with Memory Leaks 433 JIT Benefits and Implications 435 Using the Flash Builder Profiler 436 Performance Checklist 437 Summary 439 9. Working with Adobe AIR ............................................... 441 How AIR Is Different from Flex 443 HelloWorld in AIR 444 Native Windows 449 Working with Files 450 Commonly Used Directories 450 Reading and Writing to Files 452 Working with Local Databases 454 PharmaSales Application 461 Installing PharmaSales 462 The PharmaSales Application for Dispatchers 462 The PharmaSales Application for Salespeople 466 Detecting Network Availability 466 After the Salesman Logs On 470 OfflineDataCollection 478 Integrating with Google Maps 486 Summary 489 10. Developing Flex Applications for LiveCycle ES (Enterprise Suite) .............. 491 Business Process Example: Vacation Request 492 Meet LiveCycle Workspace ES 494 Table of Contents | ix Meet the Flexlet: Vacation Request 495 LiveCycle ES Architecture in a Nutshell 497 Endpoints 498 Custom Services 499 Tools 500 Creating Flex Applications Enabled for LiveCycle Workspace ES 501 Form Variable Declaration and Process Instantiation 502 Flexlet Mapping for User Activity 504 Controlling the View State of the Reusable Flexlet from the Process 504 Workspace: Flexlet Conversation Basics 504 Flexlet Code Walkthrough 509 Running Workspace from Adobe Sources 519 Business Example: Warehouse Processes 520 User Interface of the Retailer 521 User Interface of the Supplier 524 User Interface of the Manufacturer 525 Introducing Process Orchestration 526 The Warehouse Processes Under the Hood 528 Extending LiveCycle with Custom Services 529 Custom Providers for the User and Group Repository 529 Custom Solution Components 543 Orchestrating Processes with Asynchronous Events 550 Defining Events 551 Dispatching
Recommended publications
  • Log4j-Users-Guide.Pdf
    ...................................................................................................................................... Apache Log4j 2 v. 2.2 User's Guide ...................................................................................................................................... The Apache Software Foundation 2015-02-22 T a b l e o f C o n t e n t s i Table of Contents ....................................................................................................................................... 1. Table of Contents . i 2. Introduction . 1 3. Architecture . 3 4. Log4j 1.x Migration . 10 5. API . 16 6. Configuration . 18 7. Web Applications and JSPs . 48 8. Plugins . 56 9. Lookups . 60 10. Appenders . 66 11. Layouts . 120 12. Filters . 140 13. Async Loggers . 153 14. JMX . 167 15. Logging Separation . 174 16. Extending Log4j . 176 17. Extending Log4j Configuration . 184 18. Custom Log Levels . 187 © 2 0 1 5 , T h e A p a c h e S o f t w a r e F o u n d a t i o n • A L L R I G H T S R E S E R V E D . T a b l e o f C o n t e n t s ii © 2 0 1 5 , T h e A p a c h e S o f t w a r e F o u n d a t i o n • A L L R I G H T S R E S E R V E D . 1 I n t r o d u c t i o n 1 1 Introduction ....................................................................................................................................... 1.1 Welcome to Log4j 2! 1.1.1 Introduction Almost every large application includes its own logging or tracing API. In conformance with this rule, the E.U.
    [Show full text]
  • Hardware & Software Standards
    Hardware & Software Standards Introduction This document identifies the current City of Chicago standards for its hardware and software environments, and is intended primarily for City department and vendor use. These standards do not mean that other software and hardware, which might have been previously listed as standard, may not be used or supported, but the following items should be purchased for any new initiative or growth/replacement needs. Any proposals for non-standard hardware or software purchases or questions/comments should be forwarded to the Department of Innovation and Technology (DoIT) Enterprise Architecture Board for review, and will need to be approved via the Technology Purchase Review and Approval (TPRA) process. Standards denoted with an asterisk (*) are currently under review. Platform Standards Operating System (O/S) Hardware Platform Solaris 10 (Unix) (Oracle) Sun Microsystems RedHat Linux Enterprise Server 6.x, 7.x Dell RedHat Linux Enterprise Server 7.x (PCI Services) Dell VMWare VSphere 6.5U1 Dell Windows 2012 R2 & 2016 (Standard and Enterprise) Dell Windows 7, Windows 10 Dell, Panasonic Page 1 of 6 Last Revised January 2018 Hardware & Software Standards Enterprise Services Type Windows 2008 Server All other platforms Oracle Enterprise 11gR2, 12cR1; Postgres 9.x or 10.x (EnterpriseDB or Database N/A community) Print O/S n/a File O/S n/a Email Exchange 2016 / Office365 n/a Desktops, Laptops, & Tablets Type Model Standard Users Dell OptiPlex 5050 SFF, Dell OptiPlex 7450 All-In-One Mobile User Latitude 12 Rugged Extreme Latitude 14 Rugged 5414 Latitude 12 2 in 1 with case and Doc Latitude 5480 14" Laptop 6th gen proc High-End Workstation Dell Precision T5810 Laptop Accessories Docking- For the E-5470 units, Dell Business Dock - WD15 with 130W Adapter Monitor Dell 23 Monitor – P2317H Page 2 of 6 Last Revised January 2018 Hardware & Software Standards Printing and Scanning The Department of Fleet and Facility Management (2FM) oversees print services for the City of Chicago.
    [Show full text]
  • JSF Quickstart -- Myeclipse Enterprise Workbench
    JSF Quickstart Last Revision: September 26, 2005 Outline 1. P reface 2. I ntroduction 3. R equirements 4. N ew Project Setup & S tructure 5. C reating the Message Bundle 6. C reating the Managed Bean 7. C reating the JSP Pages 8. R unning the Application 9. S ummary 10.U ser Feedback 1. Preface This document was written using Sun JDK 1.5.0, Eclipse 3.1 and MyEclipse 4.0. If you notice discrepancies between this document and the version of Eclipse/MyEclipse you are using to perform the install that make it difficult or impossible to follow this guide, please see the User Feedback section on how to report the issue. Back to Top 2. Introduction In this tutorial we will be walking through a small JSF demo application using MyEclipse Enterprise Workbench. Previous knowledge of JSF and/or MyEclipse is not necessary, but would be helpful. Since Struts is such a prevalent web application framework, similarities between JSF and Struts will be noted, where appropriate, to help the reader with previous Struts experience. However, if you have no prior experience with Struts, you may feel free to skip these sections . Back to Top 3. Requirements Below is a list of software used by this guide: • JDK 1.4+ (Sun or IBM) • h ttp://java.sun.com/j2se/downloads/index.html • Eclipse 3.1 SDK • h ttp://www.eclipse.org/downloads/index.php • MyEclipse 4.1 • h ttp://www.myeclipseide.com/ContentExpress-display-ceid-10.html • Tomcat 5.x (5.5.9 Preferred, or other compliant Servlet/EJB container) • h ttp://jakarta.apache.org/tomcat/index.html • For this demo the User Name is "myeclipse" and the Password is "myeclipse" as well.
    [Show full text]
  • Haxe Game Development Essentials
    F re e S a m p le Community Experience Distilled Haxe Game Development Essentials Create games on multiple platforms from a single codebase using Haxe and the HaxeFlixel engine Jeremy McCurdy In this package, you will find: The author biography A preview chapter from the book, Chapter 1 'Getting Started' A synopsis of the book’s content More information on Haxe Game Development Essentials About the Author Jeremy McCurdy is a game developer who has been making games using ActionScript, C#, and Haxe for over four years. He has developed games targeted at iOS, Android, Windows, OS X, Flash, and HTML5. He has worked on games that have had millions of gameplay sessions, and has built games for many major North American television networks. He is the games technical lead at REDspace, an award-winning interactive studio that has worked for some of the world's largest brands. They are located in Nova Scotia, Canada, and have been building awesome experiences for 15 years. Preface Developing games that can reach a wide audience can often be a serious challenge. A big part of the problem is fi guring out how to make a game that will work on a wide range of hardware and operating systems. This is where Haxe comes in. Over the course of this book, we'll look at getting started with Haxe and the HaxeFlixel game engine, build a side-scrolling shooter game that covers the core features you need to know, and prepare the game for deployment to multiple platforms. After completing this book, you will have the skills you need to start producing your own cross-platform Haxe-driven games! What this book covers Chapter 1, Getting Started, explains setting up the Haxe and HaxeFlixel development environment and doing a quick Hello World example to ensure that everything is working.
    [Show full text]
  • IT CLASSIFICATION TECHNOLOGY LIST – ISSUE DATE: April 18, 2017
    IT CLASSIFICATION TECHNOLOGY LIST – ISSUE DATE: April 18, 2017 Technology Definition: A set of knowledge, skills and/or abilities, taking a significant time (e.g. 6 months) to learn, and applicable to the defined classification specification assigned. Example of Tools: These are examples only for illustration purposes and are not meant to constitute a full and/or comprehensive list. CLASSIFICATION DISCIPLINE TECHNOLOGY DEFINITION EXAMPLE OF TOOLS Omegamon, IBM Admin Tools, Log Analyzer, Relational The relational database management system provided by IBM that runs on Unix, Linux, DBA DB2 DB2 Compare, Nsynch, TSM, Universal Database Windows and z/OS platforms including DB2 Connect and related tools. Command, SQL SQL Server Mgmt. Studio, Red Gate, Vantage, SQL Server The relational database management system and related tools provided by Microsoft Corp. Tivoli, Snap Manager, Toad, Enterprise Manager, SQL ORACLE The relational database management system and related tools provided by Oracle Corp. ASE SYBASE The relational database management system and related tools provided by Sybase. Cincom SUPRA SQL – Cincom’s relational database management system provides access to data Supra 2.X in open and proprietary environments through industry-standard SQL for standalone and client/server application solutions. Open Source Open Source database management system such as Mysql. Phpadmin, mysqladmin, Vertica Hierarchical The hierarchical database management system provided by IBM that runs on z/OS mainframe IMS BMC IMS Utilities, Strobe, Omegamon Database platform including related tools. Cincom SUPRA® PDM – Cincom’s networked, hierarchical database management system provides access to your data through a Physical Data Manager (PDM) that manages the data Supra 1 structures of the physical files that store the data.
    [Show full text]
  • Rich Internet Applications
    Rich Internet Applications (RIAs) A Comparison Between Adobe Flex, JavaFX and Microsoft Silverlight Master of Science Thesis in the Programme Software Engineering and Technology CARL-DAVID GRANBÄCK Department of Computer Science and Engineering CHALMERS UNIVERSITY OF TECHNOLOGY UNIVERSITY OF GOTHENBURG Göteborg, Sweden, October 2009 The Author grants to Chalmers University of Technology and University of Gothenburg the non-exclusive right to publish the Work electronically and in a non-commercial purpose make it accessible on the Internet. The Author warrants that he/she is the author to the Work, and warrants that the Work does not contain text, pictures or other material that violates copyright law. The Author shall, when transferring the rights of the Work to a third party (for example a publisher or a company), acknowledge the third party about this agreement. If the Author has signed a copyright agreement with a third party regarding the Work, the Author warrants hereby that he/she has obtained any necessary permission from this third party to let Chalmers University of Technology and University of Gothenburg store the Work electronically and make it accessible on the Internet. Rich Internet Applications (RIAs) A Comparison Between Adobe Flex, JavaFX and Microsoft Silverlight CARL-DAVID GRANBÄCK © CARL-DAVID GRANBÄCK, October 2009. Examiner: BJÖRN VON SYDOW Department of Computer Science and Engineering Chalmers University of Technology SE-412 96 Göteborg Sweden Telephone + 46 (0)31-772 1000 Department of Computer Science and Engineering Göteborg, Sweden, October 2009 Abstract This Master's thesis report describes and compares the three Rich Internet Application !RIA" frameworks Adobe Flex, JavaFX and Microsoft Silverlight.
    [Show full text]
  • Capturing Interactions in Architectural Patterns
    Capturing Interactions in Architectural Patterns Dharmendra K Yadav Rushikesh K Joshi Department of Computer Science and Engineering Department of Computer Science and Engineering Indian Institute of Technology Bombay Indian Institute of Technology Bombay Powai, Mumbai 400076, India Powai, Mumbai 400076, India Email: [email protected] Email: [email protected] TABLE I Abstract—Patterns of software architecture help in describing ASUMMARY OF CCS COMBINATORS structural and functional properties of the system in terms of smaller components. The emphasis of this work is on capturing P rimitives & Descriptions Architectural the aspects of pattern descriptions and the properties of inter- Examples Significance component interactions including non-deterministic behavior. Prefix (.) Action sequence intra-component Through these descriptions we capture structural and behavioral p1.p2 sequential flow specifications as well as properties against which the specifications Summation (+) Nondeterminism choice within a component are verified. The patterns covered in this paper are variants of A1 + A2 Proxy, Chain, MVC, Acceptor-Connector, Publisher-Subscriber Composition (|) Connect matching multiple connected and Dinning Philosopher patterns. While the machines are CCS- A1 | A2 i/o ports in assembly components based, the properties have been described in Modal µ-Calculus. Restriction (\) Hiding ports from Internal The approach serves as a framework for precise architectural A\{p1, k1, ..} further composition features descriptions. Relabeling ([]) Renaming of ports syntactic renaming A[new/old, ..] I. INTRODUCTION In component/connector based architectural descriptions [6], [13], components are primary entities having identities in the represents interface points as ports uses a subset of CSP for system and connectors provide the means for communication it’s formal semantics.
    [Show full text]
  • Automatic Verification of Java Design Patterns
    Automatic Verification of Java Design Patterns Alex Blewitt, Alan Bundy, Ian Stark Division of Informatics, University of Edinburgh 80 South Bridge, Edinburgh EH1 1HN, UK [email protected] [email protected] [email protected] Abstract 2. Design patterns There are a number of books which catalogue and de- Design patterns are widely used by object oriented de- scribe design patterns [4, 1, 6] including an informal de- signers and developers for building complex systems in ob- scription of the key features and examples of their use. ject oriented programming languages such as Java. How- However, at the moment there are no books which attempt ever, systems evolve over time, increasing the chance that to formalise these descriptions, possibly for the following the pattern in its original form will be broken. reasons: We attempt to show that many patterns (implemented in Java) can be verified automatically. Patterns are defined 1. The implementation (and description) of the pattern is in terms of variants, mini-patterns, and constraints in a language-specific. pattern description language called SPINE. These specifi- 2. There are often several ways to implement a pattern cations are then processed by HEDGEHOG, an automated within the same language. proof tool that attempts to prove that Java source code 3. Formal language descriptions are not common within meets these specifications. the object oriented development community. Instead, each pattern is presented as a brief description, and an example of its implementation and use. Designers and developers are then expected to learn the ‘feel’ of a pat- 1.
    [Show full text]
  • The Command Dispatcher Pattern Benoit Dupire and Eduardo B Fernandez {[email protected], [email protected]}
    The Command Dispatcher Pattern Benoit Dupire and Eduardo B Fernandez {[email protected], [email protected]} Department of Computer Science and Engineering. Florida Atlantic University Boca Raton, FL 33431 Can also be called: Command Evaluator Pattern. Intent This pattern increases the flexibility of applications by enabling their services to be changed, by adding, replacing or removing any command handlers at any point in time without having to modify, recompile or statically relink the application. By simulating the command-evaluation feature common in interpreted languages, this pattern supports the need for continual, incremental evolution of applications. Example Autonomous Underwater Vehicles (AUVs) are small, unmanned, untethered submersibles. There are numerous applications for AUVs, such as oceanographic surveys, operations in hazardous environments, underwater structure inspection and military operations. We implement the high level controller of this AUV as a Hierarchical Finite State Machine (Figure 1). A state of the Finite State Machine (FSM) represents a mode of the system, in which some tasks have to be executed, as described in the mission plan. The system takes transitions based on the results of these actions and the progression of the AUV. The system is programmed with high-level commands of the style "set depth 3" state1 state2 action 1.1 action 2.1 Figure 1: Simplified Finite State Machine for the AUV. The FSM must be able to fire any type of actions, without knowing anything about them. This problem is addressed by the Command Pattern [GOF95], which encapsulates an action as an object, thereby letting you parameterize clients with different actions.
    [Show full text]
  • Design Pattern Interview Questions
    DDEESSIIGGNN PPAATTTTEERRNN -- IINNTTEERRVVIIEEWW QQUUEESSTTIIOONNSS http://www.tutorialspoint.com/design_pattern/design_pattern_interview_questions.htm Copyright © tutorialspoint.com Dear readers, these Design Pattern Interview Questions have been designed specially to get you acquainted with the nature of questions you may encounter during your interview for the subject of Design Pattern. As per my experience good interviewers hardly plan to ask any particular question during your interview, normally questions start with some basic concept of the subject and later they continue based on further discussion and what you answer: What are Design Patterns? Design patterns represent the best practices used by experienced object-oriented software developers. Design patterns are solutions to general problems that software developers faced during software development. These solutions were obtained by trial and error by numerous software developers over quite a substantial period of time. What is Gang of Four GOF? In 1994, four authors Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides published a book titled Design Patterns - Elements of Reusable Object-Oriented Software which initiated the concept of Design Pattern in Software development. These authors are collectively known as Gang of Four GOF. Name types of Design Patterns? Design patterns can be classified in three categories: Creational, Structural and Behavioral patterns. Creational Patterns - These design patterns provide a way to create objects while hiding the creation logic, rather than instantiating objects directly using new opreator. This gives program more flexibility in deciding which objects need to be created for a given use case. Structural Patterns - These design patterns concern class and object composition. Concept of inheritance is used to compose interfaces and define ways to compose objects to obtain new functionalities.
    [Show full text]
  • ACCESSING DATA with FLEX 2 Accessing Data Services Overview
    Accessing Data with ADOBE® FLEX® 4.6 Legal notices Legal notices For legal notices, see http://help.adobe.com/en_US/legalnotices/index.html. Last updated 12/3/2012 iii Contents Chapter 1: Accessing data services overview Data access in Flex compared to other technologies . 1 Using Flash Builder to access data services . 3 Data access components . 4 Chapter 2: Building data-centric applications with Flash Builder Creating a Flex project to access data services . 7 Connecting to data services . 8 Installing Zend Framework . 19 Using a single server instance . 21 Building the client application . 21 Configuring data types for data service operations . 25 Testing service operations . 29 Managing the access of data from the server . 29 Flash Builder code generation for client applications . 33 Deploying applications that access data services . 39 Chapter 3: Implementing services for data-centric applications Action Message Format (AMF) . 43 Client-side and server-side typing . 43 Implementing ColdFusion services . 43 Implementing PHP services . 50 Debugging remote services . 61 Example implementing services from multiple sources . 64 Chapter 4: Accessing server-side data Using HTTPService components . 71 Using WebService components . 80 Using RemoteObject components . 97 Explicit parameter passing and parameter binding . 113 Handling service results . 121 Last updated 12/3/2012 1 Chapter 1: Accessing data services overview Data access in Flex compared to other technologies The way that Flex works with data sources and data is different from applications that use HTML for their user interface. Client-side processing and server-side processing Unlike a set of HTML templates created using JSPs and servlets, ASP, PHP, or CFML, Flex separates client code from server code.
    [Show full text]
  • Tvorba Interaktivního Animovaného Příběhu
    Středoškolská technika 2014 Setkání a prezentace prací středoškolských studentů na ČVUT Tvorba interaktivního animovaného příběhu Sami Salama Střední průmyslová škola na Proseku Novoborská 2, 190 00 Praha 9 1 Obsah 1 Obsah .................................................................................................................. 1 2 2D grafika (základní pojmy) ................................................................................. 3 2.1 Základní vysvětlení pojmu (počítačová) 2D grafika ....................................... 3 2.2 Rozdíl - 2D vs. 3D grafika .............................................................................. 3 2.3 Vektorová grafika ........................................................................................... 4 2.4 Rastrová grafika ............................................................................................ 6 2.5 Výhody a nevýhody rastrové grafiky .............................................................. 7 2.6 Rozlišení ........................................................................................................ 7 2.7 Barevná hloubka............................................................................................ 8 2.8 Základní grafické formáty .............................................................................. 8 2.9 Druhy komprese dat ...................................................................................... 9 2.10 Barevný model ..........................................................................................
    [Show full text]