Google Calendar Documentation Progress

download Google Calendar Documentation Progress

of 32

Transcript of Google Calendar Documentation Progress

Google CalendarCONTENTS 1 Introduction 1.1) Purpose of The Project 1.2) Problems in Existing System 1.3) Proposed System 1.4) Scope of the Project 2. Software Requirement Spcifications 2.1. Requirements Specification Document 2.1.1. Functional Requirements 2.1.2. Non-Functional Requirements 2.1.2. Non-Functional Requirements 2.2 Software Requirements 2.3 Hardware Requirements 3. System Architecture 3.1 Modules Of The System 4. Design Issues 4.1 Uml Diagrams 5. Tecnologies / Platforms Used 6. Integration And Testing 6.1 Integration 6.2 Testing 7. Output Screens 8. Conclusion 8.1 Conclusion 9. References 9.1 Books 9.2. Websites

1

Google Calendar

1. INTRODUCTION Google Calendar is a free time-management web application offered by Google. It is a free Internet calendar that lets you keep track of your own events and share your calendars with others. It's the ideal tool for managing personal and professional schedules. It is both simple to use and very powerful. Flex Framework provides a Platform to develop a Rich Internet Application. This project aims to use Google Calendar through which the user can view his calendar on Flex Screens. It is important to remember that when you are working with the Google Calendar service, you are actually working with XML data. You are sending and receiving XML data to and from the Google Calendar service Atom or RSS feeds to be precise. The Python classes that wrap these feeds, or XML blocks, are dynamically formed around the XML. When you access something like the following: 1.1 PURPOSE OF THE PROJECT The purpose of this project is used to develop a desktop application for a Google calendar, user can access their calendar, and view detailed information of Events using User Credentials of Google. The Calendar Data API lets you incorporate Calendar functionality into your own application or website. You can edit calendars, create and delete events, send invitations, and more. 1.2 PROBLEMS IN EXISTING SYSTEM In the Existing system we need to refresh the page every time to see the updated data and it is a web based application. We need to use the browser to access the calendar. And we will be having the time criteria in web based google calendar. 1.3 PROPOSED SYSTEM In the current application we are generating a rich internet application that takes the user Google credentials and displays the events according to date selection on the calendar using Google API on flex screen. An application programming interface (API) is a particular set of rules ('code') and specifications that software programs can follow to communicate with each other. It serves as an interface between different software programs and facilitates their interaction, similar to the way the user interface facilitates interaction between humans and computers.

2

Google CalendarAn API can be: General, the full set of an API that is bundled in the libraries of a programming language, e.g. Standard Template Library in C++ or Java API. Specific, meant to address a specific problem, e.g. Google Maps API or Java API for XML Web Services. Language-dependent, meaning it is only available by using the syntax and elements of a particular language, which makes the API more convenient to use. Language-independent, written so that it can be called from several programming languages. This is a desirable feature for a service-oriented API that is not bound to a specific process or system and may be provided as remote procedure calls or web services. For example, a website that allows users to review local restaurants is able to layer their reviews over maps taken from Google Maps, because Google Maps has an API that facilitates this functionality. Google Maps' API controls what information a third-party site can use and how they can use it. The term API may be used to refer to a complete interface, a single function, or even a set of APIs provided by an organization. Thus, the scope of meaning is usually determined by the context of usage.

1.4 SCOPE OF THE PROJECT The product scope is used to access the Google Calendar form desktop application via internet manner i.e., in online. All the persons are used to view Google calendar Events, create new events using flex Desktop Application. It uses Google user Credentials to login into Google Calendar Account of User. As this is a desktop application there is no need of using any browser and the there is no problem of time limit. Can even add events when the server was down.

3

Google Calendar2. SOFTWARE REQUIREMENT SPECIFICATIONS 2.1. Requirements Specification Document According to Roger Pressman in Software Engineering: A Practitioner's Approach (McGrawHill Publications) [SEPA1997], the requirement specification document is produced at the end of Analysis of the system. This document is a very comprehensive document & contains all the User requirements & Analysis diagrams. The Requirements are broadly divided into two groups: Functional requirements Non-functional requirements 2.1.1. Functional Requirements Creating a User Interface using adobe Flex for demonstrating Google Calendar Application The process involves creating web service in Asp.net technology using Google Calendar API to connect the windowed application of Adobe product AIR to Google Calendar Account of the User. The Functional Requirement document (also called Functional Specifications or Functional Requirement Specifications), defines the capabilities and functions that a System must be able to perform successfully. Functional Requirements should include:

Descriptions of data to be entered into the system Descriptions of operations performed by each screen Descriptions of work-flows performed by the system Descriptions of system reports or other outputs Who can enter the data into the system. How the system meets applicable regulatory requirements

The functional specification is designed to be read by a general audience. Readers should understand the system, but no particular technical knowledge should be required to understand the document. Functional requirements should includes functions performed by specific screens, outlines of work-flows performed by the system and other business or compliance requirements the system must meet. Interface requirements

Field accepts numeric data entry

4

Google Calendar

Field only accepts dates before the current date Screen can print on-screen data to the printer

Business Requirements

Data must be entered before a request can approved Clicking the Approve Button moves the request to the Approval Workflow All personnel using the system will be trained according to internal SOP AA-101

Regulatory/Compliance Requirements

The database will have a functional audit trail The system will limit access to authorized users The spreadsheet can secure data with electronic signatures

Security Requirements

Members of the Data Entry group can enter requests but not approve or delete requests Members of the Managers group can enter or approve a request, but not delete requests Members of the Administrators group cannot enter or approve requests, but can delete requests

Depending on the system being described, different categories of requirements are appropriate. System Owners, Key End Users, Developers, Engineers and Quality Assurance should all participate in the requirement gathering process, as appropriate to the system. Requirements outlined in the functional requirements are usually tested in the Operational Qualification.

5

Google Calendar2.1.2. Non-Functional Requirements Non-functional requirements are requirements that specify criteria that can be used to judge the operation of a system, rather than specific behaviors. In systems engineering and requirements engineering, a non-functional requirement is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviors. This should be contrasted with functional requirements that define specific behavior or functions. The plan for implementing functional requirements is detailed in the system design. The plan for implementing non-functional requirements is detailed in the system architecture. In general, functional requirements define what a system is supposed to do whereas nonfunctional requirements define how a system is supposed to be. Functional requirements are usually in the form of "system shall do ", while non-functional requirements are "system shall be ". Non-functional requirements are often called qualities of a system. Other terms for nonfunctional requirements are "constraints", "quality attributes", "quality goals", "quality of service requirements" and "non-behavioral requirements". Qualities, that is non-functional requirements, can be divided into two main categories: 1. Execution qualities, such as security and usability, which are observable at run time. 2. Evolution qualities, such as testability, maintainability, extensibility and scalability, which are embodied in the static structure of the software system. The non-functional requirements consist of Analysis and Design The Analysis of the system is done in each and every phase. Non functional requirements are system requirements needed to satisfy functional business requirements. These are mostly technical in nature and need to be defined by the architecture and design team and the operations support team. Some project development methodologies have two requirement documents Business requirements, which identify all functional requirements; and System requirements, which identify all system related, or non functional requirements. Information management projects are data centric and a lot of requirements are really system related, hence, they are included in the information management requirement specification. System analysis and design constraints Examine the following topics and document any requirements that might impact architecture and design

Legal and regulatory policies; Existing systems limitations;

6

Google Calendar

Hardware limitations; Software limitations; Communications constraints; Architecture and design standards (should reference all standards and best practices); Production support standards; Data modeling standards; and Operational environment standards.

System analysis and design performance requirements Consider things such as:

Are there requirements specifying when needed functions are needed, e.g. ad hoc reporting? Are there requirements for synchronization of databases? Are there requirements governing the replication of data/functions across distributed platforms? Are there specific constraints on acceptable response time (e.g. within a certain number of seconds for a specific percentage of queries)? Are there response time requirements for specific queries or classes of queries?

System analysis and design quality and production support requirements Consider the following

Ability to audit, e.g. what type of data access is required to information maintained for audit purposes? Reliability, e.g. how long should the system function without downtime? Availability, e.g. specify the amount of time, during normal use periods, that the system must be available; Data currency, e.g. are there constraints governing the maximum allowable latency for data? (Latency refers to the amount of time that has passed since the data was deemed current); Flexibility, e.g. define requirements related to the degree to which the system can be changed to include new business functions and future technologies; Accuracy, e.g. are there requirements governing the quality of specific data attribute values? Consistency, e.g. are there specific constraints on user interface screens? Maintainability, e.g. are user managed tables or parameters allowed, helpful or prohibited? Scalability, e.g. will the solution require scalability across hardware and software? Monitoring, consider requirements for monitoring:

7

Google Calendaro

o o o o

Performance, e.g. what type of data access is required to information maintained for system monitoring purposes? What is the anticipated frequency of such monitoring? Command and control, e.g. will there be a need to control the system remotely? Failure management, e.g. should failures be detected both automatically and manually? How will failures be reported? Logging, e.g. will data logs be required? What data will be captured and logged? Error handling, e.g. is there specific data that must be captured in order to determine the problem source?

Designs are developed by using FLEX concept which includes the user interface, which consists of buttons, text area, text field and labels, etc. 2.2 Software Requirements 2.2.1Flash Builder 4.0 Flash Builder 4 is part of the Adobe Flash Platform, and the latest release of Adobe's commercially available integrated development environment (IDE) for building Flex and AIR applications. The popular Eclipse-based developer tool was previously known as Flex Builder 3. First, lets begin with a quick review of the pieces of a Flex application. Adobe Flex is an open source user interface framework, used within the Flash Builder IDE to build Rich Internet Applications (RIAs). The Flex framework generates SWF files that run inside the Adobe Flash Player or Adobe Integrated Runtime (AIR). Flex was built for use by developers and follows traditional application development paradigms, rather than the timeline-based development found in the Flash Professional authoring tools. The Flex framework is written in the Flash Player programming language, ActionScript 3. The typical Flex developer will use ActionScript to access data and build user interface components. MXML is also part of the Flex Framework, a declarative XML abstraction that is built on ActionScript used to simplify Flex development and layout. The Flash Builder 4 release is part of a significant update for the entire Flex development platform. The Flex 4 SDK is essentially a rewrite of the framework architecture and user interface components. The updated SDK includes both the new Flex 4 components and the now legacy Flex 3 components. Applications can use components from both, with Flex 4 components accessed through the s namespace and the Flex 3 components accessed through the mx namespace. Listing 1 shows an example of an application tag using both namespaces. You may also hear Flex 4 components referred to as Spark, as this is the name for the new component architecture, where the Flex 3 component architecture is known as Halo. Thus, the use of the s namespace for using the new components. In most cases, Flash Builder will guide you in which components to use when. Later, in the how-to example, components from both namespaces will be used without any effort on the developers part. With the new Flex Unit 4 support, you can 8

Google Calendarnow create test suites and cases from the File menu, then run them from inside Flash Builder. Thus, simplifying the process of adding unit tests to a project and bringing Flash Builder closer to meeting the expectations of an enterprise developer.

2.2.2 MY SQL SERVER The MySQL development project has made its source code available under the terms of theGNU General Public License, as well as under a variety of proprietary agreements. MySQL was owned and sponsored by a single for-profit firm, the Swedish company MySQL AB, now owned by Oracle Corporation. Free-softwareopen source projects that require a full-featured database management system often use MySQL. For commercial use, several paid editions are available, and offer additional functionality. Applications which use MySQL databases include: TYPO3, Joomla, WordPress,MyBB, phpBB, Drupal and other software built on the LAMP software stack. MySQL is also used in many high-profile, large-scale World Wide Web products, including Wikipedia, Google (though not for searches), Facebook, and Twitter. MySQL VERSIONS

9

Google Calendar

XML.

2.3 Hardware Requirements PROSESSOR HARD DISK RAM : Pentium IV 1GHz Speed : 40 GB : 1 GB

3. SYSTEM ARCHITECTURE

10

Google Calendar

The project GOOGLE CALENDER is based on Flex application which is of three-tier architecture. Three-tier architecture is an architectural deployment style that describe the separation of functionality into layers with each segment being a tier that can be located on a physically separate computer. They evolved through the component-oriented approach, generally using platform specific methods for communication instead of a message-based approach. This architecture has different usages with different applications. It can be used in web applications and distributed applications. The strength in particular is when using this architecture over distributed systems. In this course work, I will furthermore invest this through the example of three-tier architecture in web applications. Three-tier is a clientserver architecture in which the user interface,functional process logic ("business rules"), computer data storage and data access are developed and maintained as independent modules, most often on separate platforms. It was developed by John J. Donovan in Open Environment Corporation (OEC), a tools company he founded in Cambridge, Massachusetts. The three-tier model is a software architecture and a software design pattern. Apart from the usual advantages of modular software with well-defined interfaces, the three-tier architecture is intended to allow any of the three tiers to be upgraded or replaced independently as requirements ortechnology change. For example, a change of operating system in the presentation tier would only affect the user interface code. Typically, the user interface runs on a desktop PC or workstation and uses a standard graphical user interface, functional process logic may consist of one or more separate modules running on a workstation or application server, and an RDBMS on a database server or mainframe contains the computer data storage logic. The middle tier may be multi-tiered itself (in which case the overall architecture is called an "n-tier architecture").

Using this architecture the software is divided into 3 different tiers: Presentation tier, Logic tier, and Data tier. Each tier is developed and maintained as an independent tier.

11

Google Calendar

Presentation tier This is the topmost level of the application. The presentation tier displays information related to such services as browsing merchandise, purchasing, and shopping cart contents. It communicates with other tiers by outputting results to the browser/client tier and all other tiers in the network. Application tier (business logic, logic tier, data access tier, or middle tier) The logic tier is pulled out from the presentation tier and, as its own layer, it controls an applications functionality by performing detailed processing. Data tier This tier consists of database servers. Here information is stored and retrieved. This tier keeps data neutral and independent from application servers or business logic. Giving data its own tier also improves scalability and performance.

12

Google Calendar

3.1. Modules-1 of system feature 1 3.1.1. Description and priority The user needs to enter his/her Google Account Credentials to Login. User can select the particular day and time to add a new event to the Calendar. He can maintain Schedules by add the events to the calendar this helps the user to notify about the event on the scheduled date. MODULE-1:- Create a Front end design which has to accommodate the user login credentials, Calendar and the area to view the events of selected date. 3.1.2. Stimulus/Response Sequences In the stimulus sequences it prompt the user to provide the User Credentials for logging into the Google Calendar services. The Whole Scheduled Events Information of the users is displayed in the calendar. 3.2. Module-2 of System Feature 2 3.2.1. Description and priority When user provide the User credentials of Google the Google Calendar API is used to send the Service Request to Google server to check validation of the user and to get the Events data of the user from the Google database. MODULE-2:- Integrating Google calendar API with flex and writing backend logic in action script to retrieve the events. 3.2.2. Stimulus/Response Sequences In this stimulus sequence is that the front end is connected with web service of Asp.net. Google Calendar API is integrated with the web service to connect user with the Google Calendar Services. 3.3. Module-3 of System Feature 3 3.3.1. Description and priority The user needs the complete view of the calendar in order to add new events to his calendar. This provides the three different view of the calendars for a better user friendly GUI and a faster access to the Application. MODULE-3:- When a user clicks on the particular date in a calendar the selected date request is processed, i.e., gets events information of various timings and displays it on the Flex screen. 3.3.2. Stimulus/Response Sequence In this stimulus sequence when a user selects the day & time of the calendar the add event button on the screen get enabled using this the user can add the event to calendar

13

Google Calendar

4. DESIGN ISSUES: Design Issues consists of: -UML Diagrams 4.1 UML DIAGRAMS: Class Diagram: It is a collection of objects that shares the common properties and relations. Every representation of a class includes name, attributes and responsibilities. The class diagram is the main building block of object oriented modelling. It is used both for general conceptual modelling of the systematics of the application, and for detailed modelling translating the models intoprogramming code. Class diagrams can also be used fordata modeling.[1] The classes in a class diagram represent both the main objects and or interactions in the application and the objects to be programmed. In the class diagram these classes are represented with boxes which contain three parts.

The upper part holds the name of the class The middle part contains the attributes of the class The bottom part gives the methods or operations the class can take or undertake.

In the system design of a system, a number of classes are identified and grouped together in a class diagram which helps to determine the static relations between those objects. With detailed modeling, the classes of the conceptual design are often split into a number of subclasses. In order to further describe the behavior of systems, these class diagrams can be complemented by state diagram or UML state machine. Also instead of class diagrams Object role modeling can be used if you just want to model the classes and their relationships.

14

Google CalendarUS E RS U s e rnam e P as s w o rd Lo gin () S ele c t D ate and tim e() A dd E ve nts () 1..* V iew E ven ts of C alenders () Lo gout()

G o ogle C a le nda r A P I C ale nda r A P I API KEY S end L og in R eque s t () R equ es t E vent s Lis t() A dd E ven ts ()

G o ogle C ale nda r D atab as e Us e rs D ata Cale nda rs D ata E vents D ata Che c k U s e r A ut hentic ation () Retrieve E ven ts lis t() A dd E vents ()

Use Case Diagram: A use case illustrates a unit of functionality provided by the system. The main purpose of the use-case diagram is to help development teams visualize the functional requirements of a system, including the relationship of "actors" (human beings who will interact with the system) to essential processes, as well as the relationships among different use cases. Use-case diagrams generally show groups of use cases either all use cases for the complete system, or a breakout of a particular group of use cases with related functionality (e.g., all security administration-related use cases). A use-case diagram is typically used to communicate the high-level functions of the system and the system's scope. A use case diagram in the Unified Modeling Language (UML) is a type of behavioral diagram defined by and created from a Use-case analysis. Its purpose is to present a graphical overview of the functionality provided by a system in terms of actors, their goals (represented as use cases), and any dependencies between those use cases. The main purpose of a use case diagram is to show what system functions are performed for which actor. Roles of the actors in the system can be depicted. Use case diagrams are formally included in two modeling languages defined by the OMG:

15

Google Calendarthe Unified Modeling Language (UML) and the Systems Modeling Language (SysML). Interaction among actors is not shown on the use case diagram. If this interaction is essential to a coherent description of the desired behavior, perhaps the system or use case boundaries should be re-examined. Alternatively, interaction among actors can be part of the assumptions used in the use case.

Use cases

A use case describes a sequence of actions that provide something of measurable value to an actor and is drawn as a horizontal ellipse.

Actors

An actor is a person, organization, or external system that plays a role in one or more interactions with the system.

System boundary boxes (optional)

A rectangle is drawn around the use cases, called the system boundary box, to indicate the scope of system. Anything within the box represents functionality that is in scope and anything outside the box is not.

16

Google Calendar

Username (Google ID) Login Password Add Event to Calendar

Google Database

User

Select Date and time

View Events of Calendar

Logout

Sequence Diagram: Sequence diagrams show a detailed flow for a specific use case or even just part of a specific use case. They are almost self explanatory; they show the calls between the different objects in their sequence and can show, at a detailed level, different calls to different objects. A sequence diagram has two dimensions: The vertical dimension shows the sequence of messages/calls in the time order that they occur; the horizontal dimension shows the object instances to which the messages are sent. A sequence diagram in Unified Modeling Language (UML) is a kind of interaction diagram that shows how processes operate with one another and in what order. It is a construct of a message Sequence chart A sequence diagram shows object interactions arranged in time sequence. It depicts the objects and classes involved in the scenario and the sequence of messages exchanged

17

Google Calendarbetween the objects needed to carry out the functionality of the scenario. Sequence diagrams typically are associated with use case realizations in the Logical View of the system under development. Sequence diagrams are sometimes called event diagrams, event scenarios, and timing diagrams. A sequence diagram shows, as parallel vertical lines (lifelines), different processes or objects that live simultaneously, and, as horizontal arrows, the messages exchanged between them, in the order in which they occur. This allows the specification of simple runtime scenarios in a graphical manner.

18

Google Calendar

Collaboration Diagram: UML Collaboration diagrams (interaction diagrams) illustrate the relationship and interaction between software objects. They require use cases, system operation contracts, and domain model to already exist. The collaboration diagram illustrates messages being sent between classes and objects (instances). A diagram is created for each system operation that relates to the current development cycle (iteration). Class roles Class roles describe how objects behave. Use the UML object symbol to illustrate class roles, but don't list object attributes.

Association roles Association roles describe how an association will behave given a particular situation. You can draw association roles using simple lines labeled with stereotypes.

Messages Unlike sequence diagrams, collaboration diagrams do not have an explicit way to denote time and instead number messages in order of execution. Sequence numbering can become nested using the Dewey decimal system. For example, nested messages under the first message are labeled 1.1, 1.2, 1.3, and so on. The a condition for a message is usually placed in square brackets immediately following the sequence number. Use a * after the sequence number to indicate a loop.

19

Google Calendar

8: Stores into Google DataBase 10: Search In the DataBase 1: Enter's Username & Password 7: If Success Add an event to Google Calender 5: Send's Response 9: Requesting to Retriveing Events 11: Gives Response to the User Application 6: Success/Not Success

User

12: Logout

2: Uses Google Calender API

4: Verifying

Google DataBase 3: Checking in Google DataBase

Google Calender API

20

Google Calendar5. TECNOLOGIES / PLATFORMS USED: FLEX 4: Adobe Flex is a software development kit (SDK) released by Adobe Systems for the development and deployment of cross-platform rich Internet applications based on the Adobe Flash platform. Flex applications can be written using Adobe Flash Builder or by using the freely available Flex compiler from Adobe. Traditional application programmers found it challenging to adapt to the animation metaphor upon which the Flash Platform was originally designed. Flex seeks to minimize this problem by providing a workflow and programming model that is familiar to these developers. MXML, an XML-based markup language, offers a way to build and lay out graphic user interfaces. Interactivity is achieved through the use of Action Script, the core language of Flash Player that is based on the ECMA Script standard. The Flex SDK comes with a set of user interface components including buttons, list boxes, trees, data grids, several text controls, and various layout containers. Charts and graphs are available as an add-on. Other features like web services, drag and drop, modal dialogs, animation effects, application states, form validation, and other interactions round out the application framework. In a multitier model, Flex applications serve as the presentation tier. Unlike page-based HTML applications, Flex applications provide a state full client where significant changes to the view don't require loading a new page. Similarly, Flex and Flash Player provide many useful ways to send and load data to and from server-side components without requiring the client to reload the view. Though this functionality offered advantages over HTML and JavaScript development in the past, the increased support for XML HttpRequest in major browsers has made asynchronous data loading a common practice in HTML-based development as well. Adobe Flash Builder: Adobe Flash Builder (previously known as Adobe Flex Builder) is an integrated development environment (IDE) built on the Eclipse platform meant for developing rich Internet applications (RIAs) and cross-platform desktop applications, particularly for the Adobe Flash platform. Support for cross-platform desktop applications was added in Flex Builder 3 with the introduction of AIR.

21

Google CalendarAdobe Flash (formerly Macromedia Flash) is a proprietary multimedia platform used to add animation, video, and interactivity to Web pages. Flash is frequently used for advertisements and games. More recently, it has been positioned as a tool for "Rich Internet Applications" ("RIAs"). Rich Internet application Rich Internet Applications (RIAs) are web applications that have many of the characteristics of desktop applications, typically delivered either by way of a site-specific browser (is a software application that is dedicated to accessing pages from a single source (site) on a computer network such as the Internet or a private Internet.), via a browser plug-in, or independently via sandboxes or virtual machines. Adobe Flash, Java and Microsoft Silverlight are currently the three top platforms, with penetration rates around 95%, 80% and 45% respectively. However, as new web standards emerge, the principles behind RIAs stay unchanged in that they serve as the kinetic force behind new forms of Business Intelligence. Users generally need to install a software framework using the computer's operating system before launching the application, which typically downloads updates, verifies and executes the RIA. This is the main differentiator from JavaScript-based alternatives like Ajax which use builtin browser functionality to implement comparable interfaces. While some consider such interfaces to be RIAs, some consider them competitors to RIAs and others, including Gartner, treat them as similar but separate technologies. RIAs dominate in online gaming as well as applications which require access to video capture. As web standards such as HTML5 have developed and the compliance of web browsers with those standards has improved, the need for plug-in based RIAs has diminished. Rich Internet applications are fast becoming an important differentiator in the area of web presence. RIAs combine the reach of the Internet with a rich and compelling user interface that provides greater level of satisfaction and success in a users webbased interactions. RIAs are also becoming increasingly popular and accepted. According to Gartner Group (http://www.gartner.com/), mainstream adoption and critical mass among IT and commercial software projects will occur by 2008, and at least 60 percent of new application development projects will include RIA technology by 2010.

22

Google CalendarRIA background : At Adobe, we coined the term rich Internet application in 2002 when we introduced a major upgrade to Adobe Flash Platform. Since then, we have enabled more RIA sites than any other organization through our products, consulting group and partner network. In 2006, with the introduction of Adobe Flex 2, a new generation of RIAs will be brought to market that are faster, more compelling and easier to build than ever. RIAs do not replace websites. They work within the framework of an organizations existing infrastructure to deliver better user experiences and functionality than sites that are solely HTML-based. The value of RIAs: Creating and delivering a superior user experience is not merely about making an interface that looks pretty. The look and feel of an application is important and helps retain the users focus, but the essence of great user experiences is the ease and efficiency with which the users goals are met. In this context, it is important to ensure that RIAs deliver measurable results. Increased revenue: more online transactions due to speed, task completion rate, and return. For example, when the Broad moor resort (www.broadmoor.com/) introduced its RIA reservation system, it doubled the conversion rate from browser to buyer. Increased differentiation: more intuitive, customized, and compelling access to services. Engaging experience: the narrative is beyond what simple HTML can provide. For example, Intelligent Finance (www.if.com/) achieved a 15 percent increase in direct mortgage sales when they delivered an RIA calculator into the customer journey. The RIA explains the benefits of offset mortgaging to customers better than static HTML text. Determining the appropriate RIA scenario Rich Internet applications can provide a significantly improved user experience for many different types of user tasks. However, they may not be the ideal approach for every kind of Internet-related application. This section focuses on when to use RIAs, when to use HTML, and when a combination of the two fits the project best. It is difficult to improve on browser-delivered HTML when the purpose of that page is consistent with the original intention of the web: text-centric information, flowed around static content

23

Google Calendar(such as graphics), containing links to other pages of similarly structured information. In other words, for text-based, page-oriented information, standard HTML-related development and delivery environments are likely to be the appropriate choice. Advantages of RIAs over HTML-based sites Despite the strengths of HTML, its clear that not all information is best conveyed in text form. Looking at standard office automation suites such as Microsoft Office, we see that people interact with their information in a variety of ways, ranging from text to numbers to graphics and more. In fact, its often the case that while text-based content is essential to providing substance to a site, text is generally an ineffective way to provide a navigation framework, or data visualization and analysis capability. Furthermore, standard text-oriented HTML is static and does little to engage the user and make the experience exciting and more relevant. RIAs provide particular user experience advantages for several application characteristics, however RIA Advantages Context continuity: One of the challenges of an HTML-based application is that it is page-based. When the user wants to view other information, or even look at the same information in a different way, standard HTML requires a new page, or a new version of the same page, to be loaded The advantage of an RIA is that these gaps in the users engagement can be minimized or eliminated. Instead of loading new pages, an RIA can reveal content that has already been loadedsometimes in the background and unnoticed by the user. The effect on the user is that their attention can remain consistently engaged, with many benefits: Responsiveness: When the application responds directly to a users command, or when the user can directly manipulate elements on the screen, it engenders a feeling of connectedness and responsiveness to

24

Google Calendarthe application. The user trusts the application, which feels more like a solid-state machine than a harried librarian shuttling off to fetch the next volume at a users request. Productivity: Not having to subtly re-orient themselves with each new page, users can optimize their focus and stay engaged with the tasks at hand. The feeling of a solid-state machine also empowers the user to explore more, without fear of losing the page-oriented thread or having to reload previous data-filled pages upon return. User persistence: The feeling of connectedness to the application, without page transitions that cause attention gaps, keeps users more committed throughout the course of an application task. Each attention gap provides an opening for a user to shift his or her attention and move to a different task, application or site. Data-intensive web applications: A web application that consumes large amounts of data is an excellent candidate for an RIA. A traditional HTML site that involves data must essentially deliver the data as static snapshots of the actual data that resides on the server. If the user wants to filter the data, or request a different data set, the application must go back to the server and create another snapshot. This process violates the principles of responsiveness, productivity, and user persistence mentioned earlier. A rich Internet application provides a different experience. The original data remains on the server, of course, but the RIA can request data in the background, while the user focuses on the application itself. Moreover, with more business logic resident on the client, many operations can actually be done on the client, resulting in more responsive user interfaces. Embedded rich media: You have probably experienced the excitement of discovering that a favorite movie clip or song is available to be played directly on the web. This enthusiasm is quickly dampened by the need to answer several questions about bandwidth and media player version. After getting through these questions, the desired media usually appears in a separate window. This makes the entire experience awkward and less immersive (and therefore much easier to abandon).

25

Google CalendarYou often dont notice it when you encounter a site with embedded media, however. It feels natural to have audio or video part of an integrated site experience. An example of this is Google video (video.google.com), where a user can play a video directly on the page. The value of embedded rich media goes beyond entertainment. Many online businesses have discovered the improved customer experience of using rich media to provide in-context guidance, educational content, or simple orienting introductions. Consider the advantage of having audio or video tutorials on the same page as the loan application you are trying to fill out. Nights line-up, the application returned to the server to fetch a new page. The application was well engineered, so each subsequent page generally loaded in less than three seconds. Integrated development environment: An integrated development environment (IDE) also known as integrated design environment or integrated debugging environment is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of: Source code editor Compiler and/or an interpreter Build automation tools Debugger

6. INTEGRATION AND TESTING: 6.1 INTEGRATION: Integration is all about combining the individual parts of the system and making the system into a single unit. Here in this RIA Bookmarks we are combining the modules i.e., User interface with the server, Server with the database, displaying information about the URL of the bookmarks. 6.2 TESTING:

26

Google CalendarCompilation Test It was a good idea to do our stress testing early on, because it gave us time to fix some of the unexpected deadlocks and stability problems that only occurred when components were exposed to very high transaction volumes. Execution Test This program was successfully loaded and executed. Because of good programming there were no execution errors. The complete performance of the project RIA Bookmarks was good. Output Test The successful output screens are placed in the output screens section above with brief explanation about each screen.

7. OUTPUT SCREENS:

27

Google Calendar

28

Google Calendar

29

Google Calendar

8.1 CONCLUSION Google Calendar's interface is everything you'd expect from Google. It is simple, with Google's characteristic pastel blues and yellows, but it hides a lot of powerful features. Users are required to have a Google Account in order to use the software. Organizing your schedule shouldn't be a burden. With Google Calendar, it's easy to keep track of life's important events all in one place.

30

Google CalendarIn this project we will integrate Google Calendar with Flex and communicate with the Google API to list the events in the Flex. When a user clicks on any of the date in the calendar it will list the events of the selected day on the timely basis. . 8.2 BENEFITS: As this project is based on Rich Internet Application the server responsiveness is very fast. The user can be able to share with his friends or others. High graphical user Interface.

9. REFERENCES: 9.1 Books:

31

Google CalendarEnterprise Development with Flex Anatole Tartakovsky Adobe Flex 4: Training from the Source, Vol. 1 Tapper, Matthew Boles Software Engineering -------- Pressman ----- By Michael Labriola, Jeff ------- By Yakov Fain, Victor Rasputnis,

9.2. Websites: http://www.adobe.com/devnet/flex/?sdid=DKPOV http://flextutorial.org/ http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4

32