Accessibility

Table of Contents

Is Macromedia Flex the Right Fit for You?

Listening to Customer Requirements

Macromedia Flex is a presentation server that runs in the context of a Java or .NET application server. It comprises four primary segments:

  • XML-based language called MXML that manages the visual elements of your application
  • Object-oriented programming language called ActionScript 2.0 that is based on the ECMAScript standard
  • Set of application components that embody many of the best practices Macromedia has observed in successful RIAs
  • Series of back-end services that simplify interaction with runtime tasks such as data management, business logic integration, and client-server communication

Put simply, Flex is RIA programming for traditional enterprise developers. It supports common design patterns, works with existing development and deployment technologies, and provides the benefits of a modern, standards-based language. The following sections describe some specific examples of how Flex addresses these customer requirements.

Working with Your Existing Infrastructure

Companies have invested millions of dollars building n-tier service-oriented architectures (SOAs) and require that any new solution integrate well with their SOA design. Many enterprises expose their services using one of three techniques:

  • XML over HTTP or HTTPS
  • Web services (SOAP)
  • Java objects

The Flex programming model allows developers to work cleanly with any of these techniques using just three service tags: <HTTPService>, <WebService>, or <RemoteObject>. Developers using the <HTTPService> tag simply specify the URL containing an XML document. Those using SOAP for data transport can use the <WebService> tag to communicate with remote web services by referencing the associated WSDL (Web Service Definition Language format) file. Finally, developers who need to access server objects (such as Java objects) directly, that have not been explicitly exposed as a web service, can use the <RemoteObject> tag. Flex automatically manages the overhead of the data transport, object serialization, and deserialization and treats remote services as local objects.

At the same time Flex gives IT professionals the control they need to ensure they can deploy the application in a secure, maintainable fashion. The Flex service architecture references a security white list deployed on the server behind the enterprise firewall. System administrators can use this white list to restrict access to certain services based on user roles. They can also take advantage of support for named services. This gives the IT department greater flexibility as it updates its systems.

These are just a few examples of how developers and system administrators can use Flex comfortably without changing their infrastructure. For further information on integrating Flex into your existing systems, refer to these articles written by Christophe Coenraets: "Using Named Services to Access Back-End Data" and "Providing a Flex Front End to Your Struts Applications." Also check up with Christophe's blog for an ongoing discussion of these and other issues.

Integrating with Existing Design, Development, and Deployment Processes

Many businesses live and die by the processes they rely on. They ensure the success of these processes by investing in the right technologies to support them and by training their employees to follow them. Flex fits cleanly into these processes because it was built with a commitment to standards. Macromedia is a member of ECMA, the Java Community Process, and W3C—and it shows in Flex:

  • MXML is XML-compliant
  • ActionScript 2.0 is based on the ECMA 262 Edition 4 scripting standard
  • CSS, the W3C styling standard, can be used for consistent control over the application's look and feel
  • SVG can be used to embed artwork
  • Major de facto standards can be consumed by Flex (GIF, PNG, SWF, and more)

Flex developers are not forced to use specific tools to create the right user experience. Because Flex provides a text-based language, it works seamlessly with your existing source control system, coding environments, and design tools. Likewise, you can integrate these same files into your deployment processes without any significant overhead. Therefore, if your company has successfully built and deployed HTML, CFML, JSP, or ASP-style applications, it can successfully build and deploy MXML-style applications with Macromedia Flex.

Leveraging Existing Employee Skills

Companies have invested heavily in training employees to work with actual and de facto standards. Many enterprises have created organizational structures that help increase efficiency based on these skills. Our customers want to leverage these skills and the resulting operational structures.

As such, Flex was designed to be familiar to JSP and ASP developers. We've seen developers with these backgrounds write their first Flex applications in minutes and write complex Flex applications in a matter of days. The languages are similar, even though the resulting MXML applications are much more expressive. Designers and developers can work as they always have (see "Development Process and Designer/Developer Workflow" by Christophe Coenraets and Case Study: The Development Life Cycle of a Flex Application by Sean Schnoor). Front-end and back-end developers leverage the skills they've fine-tuned over the last few years working with, for example, JSP and business-tier Java objects. Finally, development and IT organizations maintain the same relationship: They deploy and configure Flex applications in much the same way that they deploy and configure JSP or ASP applications.

In summary, Macromedia heard your requests and now helps you build Rich Internet Application that let you leverage your existing investments in your infrastructure, your processes, and your employees.