In my blog BlazeDS OverviewI’ve described the basics of BlazeDS. Now, I want to give some details to create a simple Adobe Flex application with BlazeDS. This is the Part 1 of a 3-Part blog series to explain the details of “Building Adobe Flex Application with BlazeDS”.
We will create an Adobe Flex application invoking the methods of J2EE Application running on SAP J2EE engine. I’m keeping the project as simple as possible to be able to focus on the logic and architecture. There will be two projects; one Adobe Flex Application and one J2EE Application. We will invoke the methods of J2EE Application from Adobe Flex side.
Communication between two applications will be carried out by BlazeDS technology as shown in the figure.
AMF protocol is used for communication between Adobe Flex application and J2EE engine. We should take SSO into account since Adobe Flex applications run on the client side and AMF uses HTTP to communicate with server. That means we should authenticate before try to communicate with BlazeDS on J2EE server. In our example we will put SWF file into J2EE engine. When user runs Adobe Flex applications authentication will be obtanied from SSO ticket on client side.
We need to download BlazeDS binaries from Adobe Web Site before to start building our application.
(You can download also source files from Adobe Web Site if you need. It is open source and distributed under the terms of the GNU Lesser Public License.)
You will find blazeds.war file in downloaded archieve. Extract war file and keep it for future use. We will use these java libraries and xml files later in our J2EE application.
WEB-INF/lib folder contains 11 jar file. We will use these libraries in J2EE Application.
WEB-INF/flex folder contains 4 xml files. These are the main configuration files manages the communication with Flex Application. Let’s go through these files:
Data Services Configuration (services-config.xml)
This is the top-level configration file. This file usually contains reference to other 3 xml files.:
Let’s look at the details of these files:
Remoting Service (remoting-config.xml)
The Remoting Service configuration file is used to define Remoting Service destinations for working with remote objects. We declare the destinations for our Java classes in order to invoke its methods from outside.
Proxy Service (proxy-config.xml)
The Proxy Service configuration file is used to define proxy Service destinations for working with web services and HTTP services.
Message Service (messaging-config.xml)
The Message Service configuration file is used to define Message Service destinations. Message Service destination is the endpoint that handles the messaging in our applications.
Now we are ready to start development. Building Adobe Flex Application with BlazeDS – Part 2 we will continue with development of J2EE Project.